mirror of https://github.com/nirenjan/libx52.git
46 lines
1.7 KiB
Markdown
46 lines
1.7 KiB
Markdown
Notes for translators
|
|
=====================
|
|
|
|
libx52 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](https://en.wikipedia.org/wiki/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 `libx52.pot`. From the
|
|
repository root, run `meson compile -C build libx52-update-po` (adjust `build`
|
|
to your build directory), or `ninja -C build libx52-update-po`. This also
|
|
updates any translation files (with `.po` extension) to include the new source
|
|
strings.
|
|
|
|
# Adding new languages (translators)
|
|
|
|
Run `msginit -l <language-code> libx52.pot` to generate a new `.po` file
|
|
for that language. Language code is a 2 letter
|
|
[ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) code with an
|
|
optional [ISO-3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) 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
|
|
|