libx52/po
nirenjan b9e5f34aa4 Add support for building on macOS
Prior to this change, the build would fail on macOS systems because the
evdev sources were only included on Linux systems, and macOS does not
have evdev/libevdev. By separating out the configuration and update
threads, this should build on macOS, but the configuration would be
ignored.
2021-09-14 10:40:48 -07:00
..
LINGUAS Add internationalization support for x52test 2020-05-20 14:36:40 -07:00
Makevars Add gettext support to libx52 2020-05-19 08:07:10 -07:00
POTFILES.in Add support for building on macOS 2021-09-14 10:40:48 -07:00
README.md Add internationalization support for x52test 2020-05-20 14:36:40 -07:00
x52pro-linux.pot Add support for building on macOS 2021-09-14 10:40:48 -07:00
xx_PL.po Add support for building on macOS 2021-09-14 10:40:48 -07:00

README.md

Notes for translators

x52pro-linux is slowly being migrated to use the GNU gettext library to support internationalization (i18n). Contributions are welcome to both update the existing code to use gettext, and to add new translations.

xx_PL

xx_PL is a translation of English strings into Pig Latin that is used in lieu of any real translations. This file is used to test that the translation functionality is working as expected.

Adding new code to i18n (maintainers)

Most code should be using the _("...") format to refer to a translatable string. Some strings can be left untranslated, but these are mostly just whitespace, such as line breaks.

Once you add new strings to be translated, update po/POTFILES.in to include any new files that have to be translated. The file path is relative to the root of the project.

The next step is to rebuild the translation template x52pro-linux.pot. To do this, run make -C po update-po from your build directory (where you ran configure). This also updates any translation files (with .po extension) to include the new source strings.

Adding new languages (translators)

Run msginit -l <language-code> x52pro-linux.pot to generate a new .po file for that language. Language code is a 2 letter ISO-639-1 code with an optional ISO-3166-1 region suffix. Edit this file to add your translation, and add the new language to po/LINGUAS.

po/LINGUAS must be in alphabetical order.

Testing the i18n functionality

TODO