Pootle developer guide
This is a collection of links and pages for people interested in Pootle development. People interested in development or related issues will want to join our mailing lists. Translate-devel is the development mailing list (more geared towards the toolkit) and translate-pootle is more geared towards Pootle users and Pootle related issues.
Pootle is built upon the translate-toolkit. The best place for information is probably the Toolkit Developer Guide:
Pootle 2 is implemented using Django:
Some other useful links:
- SVN - Sourceforge instructions to check out the SVN sources. Use the following URL https://translate.svn.sourceforge.net/svnroot/translate/src/trunk/ for the trunk of Pootle, the toolkit (and some other things).
- Obviously you need the same dependencies as for running Pootle. For that, see installation and/or the README file in the sources.
- For running Pootle without installing each time, see no install.
- For details about unit tests, see the testing guidelines.
Debugging
Check the debugging options in localsettings.py. You might also prefer running Pootle with the built-in Django server that can handle some changes without restarting:
./manage.py runserver
Also consider disabling caching, or setting the times very low.
Creating the POT file
If you made any customisations to templates or the strings in code, you might want to regenerate the POT file for the translation of the Pootle UI.
pootle/tools/createpootlepot
Ancient
These are ancient, but maybe interesting things. Don't assume that any of this has any relevance to anything, not even Pootle 1.
Localisation
Live translation
Pootle can translate live. That is if you translate Pootle using itself your translations will be available immediately. You can translate Pootle from any running instance of Pootle that has an editable Pootle project.
To actually ensure that your translations are available to all through the next Pootle release please translate on http://pootle.locamotion.org
Creating POT files
This step is only needed if you need to create a new POT file through some code modifin or for releases or to identify why something remains untranslated. To create the pootle.pot file, run the following command in the Pootle installation directory:
./createpootlepot
This will produce a file called pootle.pot, which can be converted to a PO file by renaming or running pot2po.
You also need to create a jToolkit.pot if you don't have one, in the jToolkit installation directory, run
xgettext --language=Python --keyword=localize --keyword=nlocalize:1,2 --default-domain=jToolkit --msgid-bugs-address=davidf@sjsoft.com --copyright-holder="St James Software" `find . -name "*.py"`