home.social

#gettext — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #gettext, aggregated by home.social.

fetched live
  1. On this glorious day I discovered that Gettext not only uses a C-like format for the plural forms configuration, but it has *arithmetic*: sourceware.org/git/?p=glibc.gi

    Arithmetic, which the undersigned has to support in his Gleam library… *sigh*

    #Gettext

  2. On this glorious day I discovered that Gettext not only uses a C-like format for the plural forms configuration, but it has *arithmetic*: sourceware.org/git/?p=glibc.gi

    Arithmetic, which the undersigned has to support in his Gleam library… *sigh*

    #Gettext

  3. @jpfox @adele I am seriously considering providing a #gettext / #i18n based patch

  4. @jpfox @adele I am seriously considering providing a #gettext / #i18n based patch

  5. Tłumaczenie Wolnego i Otwartego Oprogramowania

    Trzecia część wpisu zachęcającego do zaangażowania się w społeczność Wolnego i Otwartego Oprogramowania, tym razem poświęcona tłumaczeniu programów.

    horodecki.net/2026/04/09/tluma #Crowdin #foss #gettext #git #GitLab #gnome #Gtranslator #tłumaczenie #Weblate
  6. Tłumaczenie Wolnego i Otwartego Oprogramowania

    Trzecia część wpisu zachęcającego do zaangażowania się w społeczność Wolnego i Otwartego Oprogramowania, tym razem poświęcona tłumaczeniu programów.

    horodecki.net/2026/04/09/tluma #Crowdin #foss #gettext #git #GitLab #gnome #Gtranslator #tłumaczenie #Weblate
  7. Keep Android Open

    Because Android is open, for now, till 01 September 2K26, I have been able to install this wonderful tool set of which you see a screen cap below.

    If all of you who read this toot, please boost for visibility, make your voices heard as it is explained in the first link, you will be able to stop Google from closing Android worse than Apple

    We all need to unite to stop google cold in their tracks

    EU users have enormous power in this, remember USB-C on apple

    Don't think you don't have power to stop google

    UNITE!

    keepandroidopen.org/

    gnu.org/gnu/gnu.html

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

  8. Keep Android Open

    Because Android is open, for now, till 01 September 2K26, I have been able to install this wonderful tool set of which you see a screen cap below.

    If all of you who read this toot, please boost for visibility, make your voices heard as it is explained in the first link, you will be able to stop Google from closing Android worse than Apple

    We all need to unite to stop google cold in their tracks

    EU users have enormous power in this, remember USB-C on apple

    Don't think you don't have power to stop google

    UNITE!

    keepandroidopen.org/

    gnu.org/gnu/gnu.html

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

  9. Hello @Codeberg

    Does your instance on translate.codeberg.org create the messages.pot (from python files) for me?

  10. Hello @Codeberg

    Does your #weblate instance on translate.codeberg.org create the messages.pot (from python files) for me?

    #gettext

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

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

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

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

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

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

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

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

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

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

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

  22. 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 :)

    github.com/pojntfx/go-gettext

  23. 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 :)

    github.com/pojntfx/go-gettext

  24. 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 '{}' '{}'
    
  25. 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 '{}' '{}'
    
  26. 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

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

  28. Looks like actually using gettext takes a bit too much steps for my liking for a few simple Guile scripts I wrote. The example was using automake, which certainly didn’t help 🤷

    #lang_en #gettext #guile

  29. It was more work than I hoped for, but I finally moved #Lazarr! from #Luanti's legacy TR format to the superior #gettext PO format and added the missing level names and level hints to #Codeberg Translate (#Weblate).

    #GameDev #translation

  30. It was more work than I hoped for, but I finally moved #Lazarr! from #Luanti's legacy TR format to the superior #gettext PO format and added the missing level names and level hints to #Codeberg Translate (#Weblate).

    #GameDev #translation

  31. 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: translate.codeberg.org/project

    #GameDev #translation

  32. 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: translate.codeberg.org/project

    #GameDev #translation

  33. Перевод CLI-приложения на Python: локализация click и typer с GNU gettext

    Для регистрации ПО в реестре Минцифры России нужно соблюсти несколько условий, одно из них — наличие русского языка на сайте и в документах. И хотя требований к языку в самом программном обеспечении я не нашёл (может быть, пока), но задача по русификации интерфейса появилась. Мы в «Тантор Лабс» развиваем корпоративную платформу баз данных Tantor XData, один из её компонентов — CLI (интерфейс командной строки) на Python с библиотекой Typer , которая, в свою очередь, написана поверх Click . Этот инструмент мы и попробуем русифицировать, а в идеале — научимся переводить приложение на разные языки, если потребуется. В статье рассмотрим концепции и инструменты, применяемые для локализации, включая использование библиотеки gettext в Python, а также стандарты, предоставляемые GNU gettext . Разберём работу с .pot , .po и .mo файлами, а также обработку плюральных форм, учитывающих языковые особенности множественных чисел.

    habr.com/ru/companies/astralin

    #python #gettext #typer #click #локализация #локализация_интерфейса #cli

  34. Just pushed version 3.0.0 of #Kielet, my GNU #Gettext package for #Gleam: hexdocs.pm/kielet/index.html

    This release brings support for pgettext and npgettext, which are used to provide context and disambiguate translations of words that are written identically but need different translations, such as homographs.

    I considered adding dgettext and dcgettext and all their variations, but they don't seem to provide enough benefit in Gleam.

  35. Is anybody using #FluentRS in their #RustLang project? I am thinking about setting it up for the upcoming #CodeBerg #Translathon.

    I was thinking of using #GetText but it seems outdated and not very friendly.

    #Fluent #Rust #i18n

  36. @gunchleoc Indeed. But I wouldn't be surprised if they actually handled it back in the 1990s. #Gettext had some information on plural back in 2000 web.archive.org/web/2001060500 but it's possible Java was first. ICU was in 1999.

    #Unicode #i18n