|RELEASED WITH:||2012-03 Milan|
The official Tine 2.0 releases have a set translations included. Moreover it's possible to add additional translation packs or to overwrite / customize exiting translations.
Administration of Translations
To register new translations or overwrite existing once, the base path to those translations has to be configured either via config.inc.php or using the tine20_config table via the Tinebase configKey translations
Translation Path Configuration
Example for config.inc.php
..., "translations" => "/usr/local/share/tine20/translations", ...
Translation Path Structure
Each translation must come in its own directory named as the corresponding locale. This directory must contain a translation pack structure derived from the Tine 2.0 internal directory structure.
Example for for en_US
/usr/local/share/tine20/translations/en_US/ |- Addressbook/ | |- translation/ | | |- en_us.po | | |- en_US.mo | |- js/ | |- Addressbook-lang-en_US-debug.js | |- Addressbook-lang-en_US.js |- Admin ...
NOTE: only languages names having an entry in the cldr database can be used.
Building own Translations Packs
For building your own translation packs, follow the steps from our translation howto. You should end up with a set of .po and .mo files.
You have to make sure that an ExtJS translation for you translation exists:
Also make sure that the generic translations datas exist:
The translation are build using  in the normal build process. If you don't have installed phing, follow the instructions from their page. Once the build is complete you can copy all files needed into you lang pack.
Customizing Language and Region Names
Per default, Tine 2.0 uses the languages language and region names in the list of available translations. If you want to customize the language or region name of the languages in you translation path, you can add two additional headers in the .po file of you Tinebase/translations/<localename>.po
... "X-Tine20-Language: My Language\n" "X-Tine20-Country: MY REGION\n" ...