Episode 2 of Dark Blue Weekly released
https://darkblueraven.com/sites/news/dbw-e2.php
#darkblueweekly #opensource #freesoftware #linux #bsd #opnsense #budgiedesktop #cosmicdesktop #aerynos #gstreamer #gettext
Episode 2 of Dark Blue Weekly released
https://darkblueraven.com/sites/news/dbw-e2.php
#darkblueweekly #opensource #freesoftware #linux #bsd #opnsense #budgiedesktop #cosmicdesktop #aerynos #gstreamer #gettext
Amazing. Rock Solid stability.
GNU gettext reaches v1.0 after Thirty 30 years!
GNU Gettext is vital in translating programs to different languages
Quote
GNU gettext is an important step for the GNU Translation Project, as it is an asset on which we may build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools and documentation. Specifically, the GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages.
EOF
#Programming #OpenSource #Gettext #Linux #BSD #translation #languages #Lingua
HELL JUST FROZE OVER!
#GNU #gettext version 1.0 has been released! đ
This is a popular translation framework, used by a ton of #FreeSoftware.
La v20 est envoyĂ©e. Ăa mâa pris quelques soirs pour vĂ©rifier tout. Mais au moins câest envoyĂ©âŻ!
Pour rappel, je souhaite que les options de la ligne de commande soient traduites.
https://patchwork.sourceware.org/project/glibc/list/?series=57054
Alors Ă©videmment Patchwork a reçu le mail no 5 avant la cover letter (oui dĂ©solĂ© mon serveur perso est surchargĂ©) donc il a tout cassĂ©. Je devrais attendre plus entre lâenvoi des patches de la sĂ©rie.
Life is full of options, and so is wittrans! New in v0.7.0: support for whole word search instead of partial matching, search only from source or translation strings, and export all the entries from .mo files as a single TSV file. Search statistics now display number of directories searched, number of found .mo files, and number of matches for search term, and the duration of search. Download from #PyPI https://pypi.org/project/wittrans/
#Linux #opensource #localization #l10n #i18n #gettext
Little spinoff library from one of my projects: `go-gettext`!
Want to use GNU #gettext in #Go , e.g. to do i18n in your GTK app, but without using CGo? Then this might be helpful to you :)
https://github.com/pojntfx/go-gettext
GitHub - pojntfx/go-gettext: G...
Learning a bit more every day. #til
Here is a piece of #django or better #gettext, #Django is just the user.
{% trans "Series" context "singular" %}
The "context ..." is a contextual marker [1].
Here I need it because the word "Series" in german (and other language) has a different translation for singular and plural, so I explicitly pass it a context that I will get in my .po file. Now I can differentiate
Series => Serie (singular)
Series => Serien (plural)
[1] https://docs.djangoproject.com/en/5.2/topics/i18n/translation/#contextual-markers
Just discussed it with a friend and shared that I am quite rigorous on doing translations in a certain way.
One example is the last change, read the commit message:
Don't do any simple string translations like "in" which totally miss all context, they will go wrong in some language. Use "in $location" now, so one can see the context what the "in" is meant to be for.
I was always struggling with wrapping in GNU #gettext PO files; #Django ./manage.py makemessages does it one way, Poedit.app does it differently. To avoid dirty Git diffs, I used to re-wrap the strings by hand this whole time... until TIL that you can just use msgcat without arguments :neocat_facepalm:
msgcat -o django.po django.po
To re-wrap all PO files:
fd -epo . -x msgcat -o '{}' '{}'
Gettext is adding support for custom flags in PO files! đ
The intention it to make it easier to handle workflows like AI pretranslation, review/approval, or project-specific checks â all while keeping flags reliably stored. âš
Details: https://lists.gnu.org/archive/html/bug-gettext/2025-06/msg00018.html
#gnu #gettext #gnugettext #i18n #l10n #internationalization #localization #translation #FOSS
What are the modern tools available for #translation #po files? #gettext I specially want to know about how to find suggestions from all the previous work done in many other project's po files. I can clone those repos somewhere locally, but is there any way to find suggestion from existing translations? #l10n #localization
cl-po-parser is a Common Lisp package for parsing a GNU Gettext po file.
News in my #guile minimal #gettext run-time for static (expand-time) #i18n!
The API changed: there is now only 1 macro with keyword arguments, which does not update PO files by default.
Your PO files now have scheme-format and range flags, and translator comments!
I now parse PO files directly and not MO files anymore.
The next step is to show how to use this with #Hoot (the license also changed to AGPL).
https://labo.planete-kraus.eu/guile-static-i18n.git/tree/example.scm
I donât know how you feel about it, but I find #hoot very interesting. Thereâs a problem though: you canât do #i18n (internationalization). In #guile, you would use the #gettext library, but since its run-time is written in C and relies on the file system, itâs a bit inconvenient to use in Hoot.
I present to you my static-i18n library: it provides translations at compile-time and so it does not need the gettext runtime.
https://labo.planete-kraus.eu/guile-static-i18n.git/
With #Luanti (formerly #Minetest) version 5.10 out, games can finally use the #gettext PO format natively.
I've recently updated #Repixture to use this format, which makes the translation process much simpler. Previously, I had to use a hacky Python script to convert between formats before I could upload the texts to Weblate. Now it can be used natively.
â¶ïž Repixture translations: https://translate.codeberg.org/projects/repixture/