Installation of Pootle 2.0's release candidate
This page provides some information to help testers get their release candidate of Pootle 2.0 running. Some new dependencies are now required.
Current development is taking place in SVN trunk.
Prerequisite Software
| Package | Version | Website | Reason |
|---|---|---|---|
| Django | 1.00 or up | http://www.djangoproject.com/download/ | The web framework underpinning Pootle |
| Translate Toolkit | 1.5.0 | http://sourceforge.net/projects/translate/files/Translate%20Toolkit/1.5.0/ | Various functions |
| Python | 2.4 or later | http://www.python.org/ | Preferably 2.5 |
| lxml** | http://pypi.python.org/pypi/lxml/2.2.3 | Xliff support and HTML sanitation and cleanup for news items | |
| Xapian** | http://xapian.org/docs/bindings/python/ | Indexing library to speed up searching | |
| PyLucene** | http://pylucene.osafoundation.org/ | Indexing library to speed up searching | |
| zip** | Compressing downloads of PO file bundles | ||
| iso-codes** | any | http://packages.debian.org/unstable/source/iso-codes | Enables translated language and country names |
| python-levenshtein** | http://sourceforge.net/project/showfiles.php?group_id=91920&package_id=260161 | Provides speed-up when updating from templates | |
| python-memcache and memcached** | http://www.tummy.com/Community/software/python-memcached/ | more efficient caching | |
| MySQLdb** | http://mysql-python.sourceforge.net/ | mysql support for django |
**Note: These packages are optional, but will provide some improvement.
Xapian versions before 1.0.13 are incompatible with Apache, Pootle will detect Xapian version and disable indexing when running under mod_python or mod_wsgi if needed
Pootle will display warnings and suggestions about missing dependencies on the admin page.
Getting the code
Downloading a snapshot
You can download the latest snapshot from http://translate.sourceforge.net/snapshots/. Look for the latest version of Pootle 1.3.0 Currently, it's Pootle-2.0.0-rc1.
Getting the code from SVN
svn co https://translate.svn.sourceforge.net/svnroot/translate/src/trunk/Pootle/
Running Pootle
Pootle can be run directly from the checkout directory or can be installed in your system via the setup.py command.
Running from checkout
Running from checkout is the easiet way to test Pootle, no need to install it or even configure, just change your directory to inside Pootle's directory (extracted from downloaded archive or checked out from svn), Then execute the PootleServer
for example if you've downloaded Pootle-2.0.0-rc1.tar.bz2 you'd do
tar xvf Pootle-2.0.0-rc1.tar.bz2 cd Pootle-2.0.0-rc1 ./PootleServer
by default the Pootle server will listen on the 8080 port, and can be accessed from your webbrowser under http://localhost:8080/
On the very first request Pootle will take a few minutes to setup a django database under the dbs/ subdirectory and scan all the default projects and translation files under the po directory, then redirect to the front page.
Installing Pootle
To install Pootle just the run following command from within the Pootle directory
cd Pootle-2.0.0-rc1 ./setup.py install
To start Pootle simply run:
PootleServer
You should be able to access the server at localhost on port 8080.
If you need to run Pootle under a different port execute:
PootleServer --port=PORTNUMBER
The first time you visit a new Pootle install it will take some time to setup it's database and precalculate statistics and search indexes for the default translation projects.
By default setup.py will use the directory /var/lib/pootle for translation files, databases and other working files Pootle might use. The user running will need to have write permissions on this directory and all it's descendant files and subdirectories.
Manually Updating Statistics
If you've made major changes to Pootle's translation files outside of pootle (from shell or version control) some statistics will be out of date, and visits to front page might be slow while it recalculates the stats.
To avoid this you can recalculate statistics and indexes for existing translation projects. it will detected deleted and new files as all.
PootleServer --refreshstats
Might be a good idea to rerun the refresh_stats command after adding new translation projects.
Other deployment scenarios
Easiest way to run pootle is using PootleServer as described above, however installations with a large number of users are better off running under apache .
By default Pootle is configured to use sqlite3 for it's main database, but using MySQL is also a better option recommended for larger installations.
Advanced settings
TODO: we should explain, cache, mail and auth settings here.
Customizing Pootle's look
TODO: we should mention overriding base template and css styling here