SemanticScuttle/doc/developers/translation.rst

40 lines
1.2 KiB
ReStructuredText
Raw Normal View History

Translating SemanticScuttle
===========================
SemanticScuttle uses gnu gettext for translation. It does not
rely on the php extension but ships with a pure php implementation,
php-gettext[1].
Using gettext from within the code is really easy:
Enclose the string you want to translate in a "T_" function call.
For example, to translate
> echo "Vote for";
just write
> echo T_("Vote for");
Translation basics
------------------
We keep one base translation file, data/locales/messages.po.
This file is auto-generated via xgettext from all our php source files.
In case you added a new string to the code that needs translation,
update the base translation file by running
> php scripts/update-translation-base.php
After that has been done, the changes to the base messages.po file
need to be merged into the single language translation files,
for example data/locales/de_DE/LC_MESSAGES/messages.po.
Updating them from the master file is as easy as running
> php scripts/update-translation.php de_DE
When the translation is ready, the .po file needs to be compiled
in a machine-readable .mo file. Use
> php scripts/compile-translation.php de_DE
to achieve that.
[1] https://launchpad.net/php-gettext/