+ Translating Horde Framework 3 Applications by vijay.mahrra@es.easynet.net [[toc]] ---- This document is intended to help developers translate a Horde 3 module using the new **translation.php** script. Please feel free to fill in any gaps or clarify any existing information presented here. Read also {{horde/po/README}}. ---- ++ Document Standards The following standards and assumptions are used throughout this document. Please adjust accordingly to your situation. * You have a working Horde Framework 3 installation. * You have at least one module configured and working gettext'ed _("") English for all strings that require translation. ---- + The Translation Script <code> $ php horde/po/translation.php Usage: translation.php [options] command [command-options] translation.php [help|-h|--help] [command] Helper application to create and maintain translations for the Horde framework and its applications. For an introduction read the file README in this directory. Commands: help Show this help message. compendium Rebuild the compendium file. Warning: This overwrites the current compendium. extract Generate PO template (.pot) files. init Create one or more PO files for a new locale. Warning: This overwrites the existing PO files of this locale. merge Merge the current PO file with the current PO template file. update Run extract and merge sequent. update-help Extract all new and changed entries from the English XML help file and merge them with the existing ones. cleanup Cleans the PO files up from untranslated and obsolete entries. make Build binary MO files from the specified PO files. make-help Mark all entries in the XML help file being up-to-date and prepare the file for the next execution of update-help. You should only run make-help AFTER update-help and revising the help file. commit Commit translations to the CVS server. commit-help Commit help files to the CVS server. Options: -b, --base=/PATH Full path to the (Horde) base directory that should be used. -d, --debug Show error messages from the executed binaries. -h, --help Show this help message. -t, --test Show the executed commands but don't run anything. Please report any bugs to i18n@lists.horde.org. </code> These commands can be called with {{translation.php COMMAND help}} for further information. +++ Making a Translation ++ Intialise/Merge the Translation If this is the first time, run: {{php translation.php init --module=MODULE --locale=xx_XX}} where MODULE is the module folder under horde and xx_XX is the locale (country and language code), e.g. en_GB or es_ES otherwise {{php translation.php compendium --locale=xx_XX}} {{php translation.php merge --module=MODULE --locale=xx_XX}} ++ Edit the Translation Edit //horde/MODULE/po/xx_XX// using a suitable gettext editing program, such as KBabel and save the file. ++ Update the Translation {{php translation.php cleanup}} {{php translation.php update --module=MODULE --locale=xx_XX}} {{php translation.php make}} +++ Translating Help Files First extract all new and changed entries from the English XML help file and merge them with the existing ones: {{php translation.php update-help --module=MODULE --locale=xx_XX}} Then edit the help file for the necessary language using a text editor or vi: <code> $ vi horde/easyacdc/locale/xx_XX/help.xml </code> Finally {{php translation.php make-help --module=MODULE --locale=xx_XX}}