ToDo Manager Documentation

Writing Translations

ToDo Manager uses gettext for it's internationalization. So if you have created translations for an application that uses gettext then most of this should be fairly familiar to you. It is recommended that you generate all translations against a fairly recent nightly CVS snapshot since quite a few things can change between releases.

If you will be using a nightly CVS snapshot build or a official release to generate your translations then you will already have everything setup for you. If you are using code checked straight out of CVS then there are a few steps you need to take before starting: Enter the i18n directory in the todo-manager source tree; run the script, this will generate the translation template (*.pot) files.

NOTE: The script must be run in the todo-manager/i18n directory. Otherwise, it will fail.

Since ToDo Manager is designed to be modular, it's translations are split into different directories; one for each module. The translation files can be found in the po/module_name directory in the ToDo Manager source tree.

Creating a Translation
First, copy module.pot to LL.po where LL is the 2 character ISO-639 code for your language. Next, open LL.po in your favorite text editor. From here, fill in any applicable information in the header. For the VERSION number in "Project-Id-Version" enter the version number of the last stable release that was made.

For the character encoding please use either ISO or UTF-8. True Python unicode (u"string") is not supported by ToDo Manager's internationalization.

Now, all that needs to be done is the translations for each message. Read the text after each 'msgid' and write it's translation on the corresponding 'msgstr' line. Please remember to include any additional formatting in the translation string (i.e. \n, %s, ...).

Installing Translations
If you wish to test a translation before submitting it, you can do so by running the script in the i18n directory. This will create a binary translation file for all available translations and install them in the locale directory in the ToDo Manager source tree.

NOTE: The script must be run in the todo-manager/i18n directory. Otherwise, it will fail.

Submitting a Translation
Once the translation is complete, send it to Please include your name and what module the translation is for.