Version 11 (modified by Cas, 8 years ago) (diff)

add mo creation

Translation

Translators

To help translate Deluge please register at the Launchpad translation site

Marking Text for Translation

To mark text for translation in Python and ExtJS wrap the string with the function _() like this:

torrent.set_tracker_status(_("Announce OK"))

For GTK you can move the translation out of the code and into the glade files:

<property name="label" translatable="yes">Max Upload Speed:</property>

For more details see: Python Gettext

Translation Process

These are the overall stages in gettext translation: POT (Portable Object Template) files -> PO (Portable Object) files -> MO (Machine Object) files

  • potfiles.in created with create_potfiles_in.py
  • deluge.pot created with gettextize.sh
  • Upload deluge.pot located in deluge/i18n/ to translation site
  • Wait for the translators to translate the text.
  • Download from the translation site the updated PO files, extract to deluge/i18n/ and strip the deluge- prefix: rename -f 's/^deluge-//' deluge-*.po
  • The binary MO files for each language are generated in setup.py by using the msgfmt.py script.

To enable WebUI to use translations update gettext.js by running gen_gettext.py script.

Useful Applications

Testing Translation

Verification that translations are working correctly can be performed by running deluge as follows.

Create an MO for a single language in the correct sub-directory:

mkdir -p deluge/i18n/fr/LC_MESSAGES
python msgfmt.py -o deluge/i18n/fr/LC_MESSAGES/deluge.mo deluge/i18n/fr.po

Run Deluge using an alternative language:

LANGUAGE=fr deluge
LANGUAGE=ru_RU.UTF-8 deluge

Note: If you do not have a particular language installed on your system it will only translate based on the MO files for Deluge so some GTK text/button strings will remain in English.