#gettext

Sébastien Helleuflashcode@hostux.social
2026-02-09

I started a full rewrite of msgcheck a few weeks ago, you can find the new project here: github.com/poexam/poexam
Poexam is a blazingly fast PO file linter with a comprehensive diagnostic report.
It it written in Rust, provides new rules and can display detailed statistics about PO files, all in a few milliseconds!

#rust #poexam #msgcheck #gettext

Dendrobatus AzureusDendrobatus_Azureus@bsd.cafe
2026-02-08

@Timpostma

A chicken egg tool is a tool, in this case the GCC compiler, which you need in your GNU Linux Operating System to compile your programs.

The GCC compiler needs to be compiled first.

This means that you need another C compiler, to compile your GCC compiler.
The other C compiler will need to reside in another Operating System.

In this specific example of building a GNU Linux multi tasking Operating System from the MS-DOS single tasking operating system, I used the Turbo C compiler, which was written by Borland. The Turbo C compiler, is a proprietary Closed Source compiler, which is delivered as a executable, not in source code.

Armed with the Turbo C compiler, I ran the following command sequence for compiling GCC
./configure
make test
# this runs the assembler program too
make

I did not run 'make install' because GCC needs to be installed in GNU Linux. I also used switches so that a Linux ELF Binary executable was created, not a MS-DOS executable binary.

The last step was to do a raw write of the GCC binary to the Linux file system.

#GNU #GCC #compiler #ELF #OperatingSystem #programming #technology #Freedom #100percent #Full #free #software #UNIX #vi #mathematics #reg #ex #regular #expressions #gettext #man #pages #OpenSource #files #pipes

Dendrobatus AzureusDendrobatus_Azureus@bsd.cafe
2026-02-07

Distributions are interwoven with the GNU principles.
Before distributions I would have to download the GNU program Source Code one by one, then cross compile (GCC for example) them.
Once chicken egg tools were cross compiled I could start with native
./configure; make; make test; make install

Quote
Specifically, free software means users have the four essential freedoms: (0) to run the program, (1) to study and change the program in source code form, (2) to redistribute exact copies, and (3) to distribute modified versions.
^Z

These are important pillars of Free Software

gnu.org/gnu/gnu.html

#GNU #OperatingSystem #programming #technology #Freedom #100percent #Full #free #software #UNIX #vi #mathematics #reg #ex #regular #expressions #gettext #man #pages #OpenSource #files #pipes

Dendrobatus AzureusDendrobatus_Azureus@bsd.cafe
2026-02-07

About GNU

GNU was launched in 1983 by Richard Stallman

Quote
The primary and continuing goal of GNU is to offer a Unix-compatible system that would be 100% free software. Not 95% free, not 99.5%, but 100%. The name of the system, GNU, is a recursive acronym meaning GNU's Not Unix—a way of paying tribute to the technical ideas of Unix, while at the same time saying that GNU is something different. Technically, GNU is like Unix. But unlike Unix, GNU gives its users freedom.
^Z

Realize this
Without GNU, Linux {distributions} would *not* exist. You would only have a kernel after boot, no user land programs

Be grateful for the existence of GNU

#GNU #OperatingSystem #programming #technology #Freedom #100percent #Full #free #software #UNIX #vi #mathematics #reg #ex #regular #expressions #gettext #man #pages #OpenSource #files #pipes

gnu.org/gnu/about-gnu.html

Dendrobatus AzureusDendrobatus_Azureus@bsd.cafe
2026-01-31

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

gnu.org/software/gettext/

HELL JUST FROZE OVER!

#GNU #gettext version 1.0 has been released! 🎉

This is a popular translation framework, used by a ton of #FreeSoftware.

savannah.gnu.org/news/?id=10853

#release #FreeSoftware #translation

Vivien (Requin Mou)gugurumbe@mastouille.fr
2026-01-27

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.

patchwork.sourceware.org/proje

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.

#glibc #gettext #i18n

Jiri Grönroosjirigronroos
2025-12-24

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.org/project/wittrans/

2025-10-28

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...

Felicitas Pojtinger 🌅pojntfx
2025-10-28

Little spinoff library from one of my projects: `go-gettext`!

Want to use GNU in , e.g. to do i18n in your GTK app, but without using CGo? Then this might be helpful to you :)

github.com/pojntfx/go-gettext

2025-10-12

potodo 0.25 released last Friday! A number of quality of life improvements inside 🫡 Thank you @mdk for the release! #i18n #gettext

git.afpy.org/AFPy/potodo#relea

2025-07-20

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] docs.djangoproject.com/en/5.2/

2025-07-19

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.

#i18n #django #gettext #goodcode

2025-07-04

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 '{}' '{}'
Rafael Fontenellerafaelff
2025-06-30

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: lists.gnu.org/archive/html/bug

Kushal Das :python: :tor: 🇸🇪kushal@toots.dgplug.org
2025-05-23

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

2025-03-26

cl-po-parser is a Common Lisp package for parsing a GNU Gettext po file.

github.com/veer66/cl-po-parser

#commonlisp #po #gettext

2025-02-20

#taidan is now #gettext free
full migration to
#fluent ​:ablobcatattentionreverse:​

#ultramarinelinux #rust #foss #linux

github page for the commit that removes all the .po and .pot files (that is, gettext files)
Vivien (Requin Mou)gugurumbe@mastouille.fr
2025-01-02

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).
labo.planete-kraus.eu/guile-st

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst