Pootle: a web translation and translation management engine
===========================================================

* How it works
* References
* Requirement/Installation
* Running
* Bug reporting
* Notes
* Assignments

How it works
------------
The concept is: a PO file is a document, so lets use PO files directly, 
rather than storing it in a database.  But we need quick access to statistics 
so we cache them in .stats files. This lets us do most checks etc. in advance 
and then iterate quickly.

References
----------
Bugzilla: http://bugs.wordforge.org/
Wiki: http://translate.sourceforge.net/wiki/pootle
Mailing List: https://lists.sourceforge.net/lists/listinfo/translate-pootle
	translate-pootle@lists.sourceforge.net
Mail Archives: http://sourceforge.net/mailarchive/forum.php?forum=translate-pootle

Requirements/Installation
-------------------------
Please read http://translate.sourceforge.net/wiki/pootleadmin for the lastest instructions.

Pootle requires the Translate Toolkit package from 
http://translate.sourceforge.net as it uses most of the other modules.

The Translate Toolkit requires Python 2.2 or higher, but Pootle itself 
probably only works with Python 2.3 or higher.  The Translate Toolkit must 
be installed properly i.e. it needs to be accessible in your Python Path. This
will normally be accomplished by installing from source:

	python setup.py install
	
For Debian users: if you get this error ("Unable to open /usr/lib/python2.N/config/Makefile
(no such file or directory)"), while running setup.py, you need to install python-dev library.
Try apt-get install python2.N-dev.

For the web interface, Pootle requires jToolkit (http://jtoolkit.sourceforge.net/)
jToolkit can run applications either via Apache using mod_python, or standalone 
from the command line.  Pootle works best at the moment being run from the 
command line since we don't handle inter-process locking etc.  It's also 
much easier! To install jToolkit run:

	tar xvzf jToolkit-N.N.N.tar.gz
	cd jToolkit-N.N.N
	python jToolkitSetup.py install

ZIP is needed to enable users to download ZIP files of directories. For 
integration with CVS and/or Subversion, the relevant version control client 
must be installed and accessible from the PATH.

From version 0.9 of Pootle, kid (http://kid.lesscode.org/), and elementtree
(http://effbot.org/downloads/#elementtree) are also needed.

To install "elementtree", run
	tar xvfz elementtree-N.N.N.tar.gz
	cd elementtree-N.N.N
	python setup.py install
	
To install kid, run
	tar xvfz kid-N.N.N.tar.gz
	cd kid-N.N.N
	python setup.py install
  
For Debian users: if you do not have setuptools installed, try:
	apt-get install python2.N-setuptools
or
	wget http://files.turbogears.org/eggs/setuptools-0.6a11-py2.4.egg

Installation of PyLucene is optional, but helps to speed up searching.

To install Pootle itself, run

	tar xzf Pootle-N.N.N.tar.gz
	cd Pootle-N.N.N
	python pootlesetup.py install

Running
-------
To run, edit pootle.prefs and specify your languages and projects. The key detail 
here is the podir for each project.  Then run:

	PootleServer

You can also copy pootle.prefs to another directory, allowing you to run Pootle outside
of the installation directory.  Edit this copy of pootle.prefs as needed.  Then run:

	PootleServer --prefsfile=your.prefs

Use --help to see the other options.  You can tell it which prefs file to use, 
what HTML file and what port to run on (the default is 8080). The defaults will 
generally work.

Now visit http://localhost:8080/ and begin translating.

To stop, press Ctrl-C. On Windows, it will only react to the Ctrl-C after a webpage is requested.

Bug Reporting/Feature requests
------------------------------
You can always report bugs or feature requests on the mailing list but because of the increase
in users and the fact that bug reports do go missing it is probably best to place your
bug report in Bugzilla: http://bugs.wordforge.org/

If you have a traceback or a patch then please include it.  Also please be quite specific
about how the bug occured and what you expected to happen.

If this is a feature request then try to be specific about how you think this feature should 
work.

Notes
-----
Files should be reindexed automatically.
To reindex manually, simply remove any stats files you want reindexed, or run 
	python pootle.py --refreshstats

Assignments
-----------
To assign sstrings to users, you need to create a xxx.po.assigns file in the same 
directory as xxx.po This should contain lines in the following format:

username: action: 0,2-34,36,99

where action can be 'suggest' or 'review', and the numbers refer to 0-based item 
numbers in the file.

