home.social

#gettext — Public Fediverse posts

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

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

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

  4. Hello @Codeberg

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

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

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

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

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

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

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

  11. 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 '{}' '{}'
    
  12. 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

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

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

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

  16. Перевод 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

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

  18. #gettext #deepl assisted #i10n of #po files

    $ msgget # copy msgid as msgstr to new file

    script:
    ---
    #!/usr/bin/bash

    read msg

    # curl the msg via deepl api | jq --raw the output
    ---

    $msgfilter --keep-header -src.po ./script

    # pay attention to encoding in *.po header

    et voilà, basic, crude translation of thousands of lines in more than 30 languages

    Afterthought: I deal with newlines via sed /\\n// , sometimes via #vim

    #translation #i10n #gnu #unix #linux #hobby #bash #m16n