Installation of Pootle 1.3's beta
This page provides some information to help testers get their beta of Pootle 1.3 running. Some new dependencies are now required, and some of them might hopefully disappear before the final release, so keep an eye on things, especially if you are going to be packaging later.
Note that Pootle is still under heavy development in preparation for the final release, and you are best of to get into contact with the development team to help out or to hear about the latest news on how things are progressing.
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 | latest snapshot of yet to be released 1.4.2 | http://translate.sourceforge.net/snapshots/Pootle-1.3.0-beta4/translate-toolkit-1.4.1-svn.tar.bz2 | Various functions |
| lxml | http://pypi.python.org/pypi/lxml/2.2.3 | Xliff support and HTML sanitation and cleanup for news items | |
| Python | 2.4 or later | http://www.python.org/ | Preferably 2.5 |
| 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 |
**Note: These packages are optional, but will provide some improvement.
Xapian is incompatible with Apache, Pootle will disable the Xapian indexing when running under mod_python or mod_wsgi
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-1.3.0-beta4.
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-1.3.0-beta4.tar.bz2 you'd do
tar xvf Pootle-1.3.0-beta4-.tar.bz2 cd Pootle-1.3.0-beta4 ./PootleServer
it 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 the server will start.
by default the Pootle server will listen on the 8080 port, and can be accessed from your webbrowser under http://localhost:8080/
Pootle-1.3.0-beta4 depends on a yes to be released version of the translate toolkit, you can download a snapshot from translate-toolkit-1.4.1-svn.tar.bz2.
If you don't want to install this snapshot release you can instead exctract it alongside pootle and create a symlink to the translate subdirectory within pootle.
tar xvf translate-toolkit-1.4.1-svn.tar.bz2 cd Pootle-1.3.0-beta4 ln -s ../translate-toolkit-1.4.1-svn/translate/ .
Pootle will automatically use this version instead of any you have installed in your system.
Installing Pootle
To install Pootle just the run following command from within the Pootle directory
cd Pootle-1.3.0-beta4 ./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 run PootleServer 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 Setting up your database
If Pootle complains about weird things, try deleting your database.
Change your directory to inside your Pootle directory (that is, cd /my/installation/path/Pootle). Now, execute the following commands:
First delete the existing database
rm ./dbs/pootle.db
Then initialize the database and build pootle tables, it'll ask you to create an admin account.
./manage.py syncdb
Next load default Pootle data into the database, if no admin user was created at the syncdb step a default one will be created with username 'admin' and password 'admin'.
./manage.py initdb
Finally precalculate statistics and indexes for existing translation projects. This step is not strictly required, but without it Pootle will feel a bit sluggish and slow when visiting accessing a page for the first time.
./manage.py refresh_stats
Rerun the refresh_stats command after adding new translation projects.
The database is placed in the dbs subdirectory.
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