modinfo in the translate toolkit is now a 2-tuple containing the mtime and
[pootle.git] / README
1 Pootle: a web translation and translation management engine
2 ===========================================================
4 * How it works
5 * References
6 * Requirement/Installation
7 * Running
8 * Bug reporting
9 * Notes
10 * Assignments
12 How it works
13 ------------
14 The concept is: a PO file is a document, so lets use PO files directly, 
15 rather than storing it in a database.  But we need quick access to statistics 
16 so we cache them in .stats files. This lets us do most checks etc. in advance 
17 and then iterate quickly.
19 References
20 ----------
21 Bugzilla:
22 Wiki:
23 Mailing List:
25 Mail Archives:
27 Requirements/Installation
28 -------------------------
29 Please read for the 
30 lastest instructions.
32 Pootle requires the Translate Toolkit package from 
34 Note all the optional dependencies of the Translate Toolkit for optimal 
35 performance and functionality in Pootle.
37 The Translate Toolkit requires Python 2.3 or higher, but Pootle itself might 
38 only work with Python 2.4 or higher.  The Translate Toolkit must be installed 
39 properly i.e. it needs to be accessible in your Python Path. This will normally
40 be accomplished by installing from source:
42         python install
44 If you get this error along the lines of
45 Unable to open /usr/lib/python2.N/config/Makefile (no such file or directory)
46 while running, you need to install python-dev or libpython2.N-devel
47 package. Try to install python2.N-dev or libpython2.N-devel or something 
48 similar with your distribution's package manager.
50 For the web interface, Pootle requires jToolkit 
51 (
52 jToolkit can run applications either via Apache using mod_python, or standalone
53 from the command line.  Pootle works best at the moment being run from the 
54 command line since we don't handle inter-process locking etc.  It's also 
55 much easier! To install jToolkit run:
57         tar xvzf jToolkit-N.N.N.tar.gz
58         cd jToolkit-N.N.N
59         python install
61 ZIP is needed to enable users to download ZIP files of directories. For 
62 integration with CVS and/or Subversion, the relevant version control client 
63 must be installed and accessible from the PATH.
65 From version 0.9 of Pootle, kid (, and elementtree
66 ( are also needed.  Elementtree is
67 not needed anymore with Python 2.5.
69 To install "elementtree", run
70         tar xvfz elementtree-N.N.N.tar.gz
71         cd elementtree-N.N.N
72         python install
74 To install kid, run
75         tar xvfz kid-N.N.N.tar.gz
76         cd kid-N.N.N
77         python install
79 For Debian users: if you do not have setuptools installed, try:
80         apt-get install python2.N-setuptools
82         wget
84 Installation of PyLucene is optional, but helps to speed up searching. jToolkit 
85 is not yet compatible with the newest version of PyLucene, so be sure to use 
86 a version before PyLucene version 2.0.
88 To install Pootle itself, run
90         tar xzf Pootle-N.N.N.tar.gz
91         cd Pootle-N.N.N
92         python install
94 Running
95 -------
96 To run, edit pootle.prefs and specify your languages and projects. The key detail 
97 here is the podir for each project.  Then run:
99         PootleServer
101 You can also copy pootle.prefs to another directory, allowing you to run Pootle outside
102 of the installation directory.  Edit this copy of pootle.prefs as needed.  Then run:
104         PootleServer --prefsfile=your.prefs
106 Use --help to see the other options.  You can tell it which prefs file to use, 
107 what HTML file and what port to run on (the default is 8080). The defaults will 
108 generally work.
110 Now visit http://localhost:8080/ and begin translating.
112 To stop, press Ctrl-C. On Windows, it will only react to the Ctrl-C after a webpage is requested.
114 Bug Reporting/Feature requests
115 ------------------------------
116 You can always report bugs or feature requests on the mailing list but because of the increase
117 in users and the fact that bug reports do go missing it is probably best to place your
118 bug report in Bugzilla:
120 If you have a traceback or a patch then please include it.  Also please be quite specific
121 about how the bug occured and what you expected to happen.
123 If this is a feature request then try to be specific about how you think this feature should 
124 work.
126 Notes
127 -----
128 Files should be reindexed automatically.
129 To reindex manually, simply remove any stats files you want reindexed, or run 
130         python --refreshstats
132 Assignments
133 -----------
134 To assign sstrings to users, you need to create a xxx.po.assigns file in the same 
135 directory as xxx.po This should contain lines in the following format:
137 username: action: 0,2-34,36,99
139 where action can be 'suggest' or 'review', and the numbers refer to 0-based item 
140 numbers in the file.