public
Description: Web-based translation and translation management tool
Homepage: http://translate.sf.net/
Clone URL: git://github.com/julen/pootle.git
pootle /
name age message
file .cvsignore Tue Oct 07 08:36:56 -0700 2008 ignore generated files git-svn-id: https://tra... [dupuy]
file COPYING Wed Apr 20 05:48:34 -0700 2005 Added initial CREDITS file, and COPYING (GPL) ... [davidfraser]
file CREDITS Mon Oct 06 05:39:16 -0700 2008 Credit Daniel Schafer and Wil Clouser for Mozoo... [friedelwolff]
file ChangeLog Mon Oct 06 06:10:19 -0700 2008 Update ChangeLog before the release of 1.2.0 g... [friedelwolff]
file ChangeLog.pre-0.8 Wed Apr 20 02:50:18 -0700 2005 added PootleServer script, new __version__ for ... [davidfraser]
file PootleServer Thu Jun 15 07:32:01 -0700 2006 [Forwardport] Update copyright dates and add mi... [dwaynebailey]
file README Thu Aug 21 16:18:45 -0700 2008 Pootle uses the python module "subprocess" - th... [sumpfralle]
file TODO Wed Jan 17 07:46:28 -0800 2007 Remove some done items from the TODO list git-... [friedelwolff]
file __init__.py Wed Apr 02 08:12:53 -0700 2008 Fixes to cleanup PKG-INFO. Wrong download URL ... [dwaynebailey]
file __version__.py Loading commit data...
file adminpages.py Thu Aug 14 08:02:58 -0700 2008 Make previously untranslatable admin page title... [friedelwolff]
file benchmark.py Tue Aug 26 07:36:41 -0700 2008 Rename the module named indexer to indexing. ... [winterstream]
file conflict2suggest.py Tue Jul 01 04:23:36 -0700 2008 Merged in changes from branches/Pootle-diet-and... [winterstream]
file conftest.py Sat Jul 02 07:07:19 -0700 2005 added conftest that stops py.test from searchin... [davidfraser]
file createpootlepot Fri Jun 06 01:53:17 -0700 2008 Prep the .pot fiel with package name and versio... [dwaynebailey]
file filelocations.py Thu Oct 16 06:45:28 -0700 2008 Modified the code to be usable with older versi... [winterstream]
directory html/
file indexpage.py Mon Sep 22 09:45:47 -0700 2008 file_fails_test doesn't work correctly. Reverte... [winterstream]
file pagelayout.py Mon Sep 08 04:13:40 -0700 2008 Fixed code that still assumed that it had to co... [winterstream]
directory po/
file pootle.prefs Wed Oct 01 03:38:00 -0700 2008 Add special characters for Kurdish git-svn-id... [dwaynebailey]
file pootle.py
file pootlefile.py
file potree.py Tue Aug 26 08:25:13 -0700 2008 Change the indexing system so that we have to a... [winterstream]
directory profiling/ Tue Jul 29 06:13:15 -0700 2008 This adds some profiling code to Poolte. The ou... [winterstream]
file projects.py Mon Sep 29 00:14:45 -0700 2008 [Contributed by João Miguel Neves] Correctly ma... [friedelwolff]
file request_cache.py
file statistics.py
directory templates/
file test_client.py
file test_cmdlineserver.py Mon Oct 20 08:28:04 -0700 2008 Cosmetic changes. git-svn-id: https://transla... [walter_l]
file test_create.py Fri Jan 26 04:40:36 -0800 2007 Fix corresponding to the rename of session in c... [friedelwolff]
file test_indexing.py Wed Oct 22 08:01:09 -0700 2008 Cosmetic changes. git-svn-id: https://transla... [walter_l]
file test_pootlefile.py Tue Oct 21 09:02:21 -0700 2008 Updated test_pootlefile.py tests to correctly u... [walter_l]
directory tools/ Tue Aug 19 02:08:51 -0700 2008 Increase the default maximum length to 1000 (sa... [friedelwolff]
file translatepage.py
file users.prefs Fri Jun 13 09:45:52 -0700 2008 Enable translation while displaying an alternat... [friedelwolff]
file users.py Thu Oct 16 05:40:55 -0700 2008 Wil Clouser (thanks Wil!) reported that request... [winterstream]
file util.py Tue Oct 21 01:32:53 -0700 2008 Added comments. git-svn-id: https://translate.... [winterstream]
README
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.locamotion.org/
Wiki: http://translate.sourceforge.net/wiki/pootle/index
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/pootle/installation for the 
lastest instructions.

Pootle requires the Translate Toolkit package from 
http://translate.sourceforge.net/
Note all the optional dependencies of the Translate Toolkit for optimal 
performance and functionality in Pootle.

The Translate Toolkit requires Python 2.3 or higher, but Pootle itself only
works with Python 2.4 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
  
If you get this error along the lines of
Unable to open /usr/lib/python2.N/config/Makefile (no such file or directory)
while running setup.py, you need to install python-dev or libpython2.N-devel
package. Try to install python2.N-dev or libpython2.N-devel or something 
similar with your distribution's package manager.

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.  Elementtree is
not needed anymore with Python 2.5.

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 an indexing engine (PyLucene or Xapian) 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.locamotion.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.