Version 11 (modified by Cas, 8 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 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
- podiff - Compare textual information in two PO files
- gtranslator - GUI po file editor
- Poedit - GUI po file editor
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.