====== System requirements ====== Your Pootle installation will need to be flexible enough to handle the translation load. If you want to host a lot of software e.g. multiple translations of large projects such as OpenOffice.org, Mozilla Firefox, GNOME or KDE we would recommend a minimum of: - at least 512MB RAM - enough disk space to hold the PO files for all the projects, plus some extra (20MB per copy of OpenOffice.org should be OK) But of course if you are simply hosting one language or a number of languages for a small localisation project then you can easily use: - 128 MB of RAM - Enough disk space to store your PO files ====== Software Requirements ====== This section helps you choose the versions of software that you need, the dependencies and optional software. These might be slightly different if you are installing e.g. Windows so please familiarise yourself with your target platform and installation options before downloading all the software. Pootle will display warnings and suggestions about missing dependencies on the admin page. For GNU/Linux users most of the required and optional dependencies are available through the operating system's package manager or through Python's standard package management command ''easy_install'' ===== Prerequisite Software ===== ^ Package ^ Version ^ Website ^ Reason ^ | Django | 1.0 or later preferable 1.1 | http://www.djangoproject.com/download/ | The web framework underpinning Pootle | | Translate Toolkit | 1.5.0 or later | http://sourceforge.net/projects/translate/files/Translate%20Toolkit/ | Various functions | | Python | 2.4 or later | http://www.python.org/ | Preferably 2.5 | | sqlite* | version 3 | http://www.sqlite.org/ | database for tracking translation statistics, can also be used as Django's database| *Note: sqlite 3 support is builtin Python 2.5, those using 2.4 will also need to install the ''python-sqlite2'' package ===== Optional Software ===== ^ Package ^ Version ^ Website ^ Reason ^ | 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 | | [[apache|Apache]] | | | The world's webserver and best way to run Pootle | | [[MySQL|mysql]]* * | 4.1 or later | | Database for storing Users, Projects and Language information | | Version Control Software | | | [[version_control]] integration | *Note: 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. * *Note: Django can use a number of database engines for it's backend database but we have only tested with MySQL and the default SQLite. ==== 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), and then execute ''PootleServer''. For example if you have downloaded [[http://sourceforge.net/projects/translate/files/Pootle/2.0.0/Pootle-2.0.0.tar.bz2/download|Pootle-2.0.0.tar.bz2]] you would do tar xvf Pootle-2.0.0.tar.bz2 cd Pootle-2.0.0 ./PootleServer By default the Pootle server will listen on the 8080 port, and can be accessed from your web browser at ''http://localhost:8080/'' On the very first request Pootle will take a few minutes to setup a Django database under the ''dbs/'' subdirectory and will scan all the default projects and translation files under the ''po'' directory. Finally, it will 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 ./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 its database and to recalculate 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 its descendant files and subdirectories. To verify which version of Pootle and dependencies you have installed run: [l10n@server]# PootleServer --version Pootle 2.0.0 Translate Toolkit 1.5.1 Django 1.1.1 If you have difficulty installing please email the [[http://lists.sourceforge.net/lists/listinfo/translate-pootle|translate-pootle]] list with details of exactly what you did and what didn’t work. If possible, please include the output of ''PootleServer --version''. ==== 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 detect deleted and new files at all. PootleServer --refreshstats It might be a good idea to rerun the ''refreshstats'' command after adding new translation projects. ==== Other deployment scenarios ==== The easiest way to run Pootle is using ''PootleServer'' as described above, however installations with a large number of users are better off [[apache|running under apache]]. By default Pootle is configured to use sqlite3 for its main database, but [[using_mysql|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