translation documentation
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@522 b3834d28-1941-0410-a4f8-b48e95affb8f
This commit is contained in:
parent
b6b0213856
commit
81bf44174b
1 changed files with 40 additions and 0 deletions
40
doc/developers/translation
Normal file
40
doc/developers/translation
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
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/
|
Loading…
Reference in a new issue