Version 5 (modified by Cas, 9 years ago) (diff)

--

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 the updated PO files for each language from the translation site, extract to deluge/i18n/ and strip the deluge- prefix:
    for i in *.po; do j=echo $i | cut -d - -f2; mv $i $j; done
  • 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 with: gen_gettext.py > gettext.js

Testing Translation

Verification that translations are working correctly can be performed by running deluge like this:

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

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