6.0.0-git
2024-03-28
Last Modified 2008-06-16 by Guest

Translating Horde Framework 3 Applications

by vijay.mahrra@es.easynet.net


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


$ 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.

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:


$ vi horde/easyacdc/locale/xx_XX/help.xml

Finally

php translation.php make-help --module=MODULE --locale=xx_XX