Translate Toolkit
-----------------

The Translate Toolkit is a set of software and documentation designed to help
make the lives of localizers both more productive and less frustrating.  
The Toolkit is part of the translate.sourceforge.net project, 
hosted at http://translate.sourceforge.net/

The software includes programs to covert localization formats to the common PO
format and programs to check and manage PO files.  The documentation includes
guides on using the tools, running a localization project and how to localize
various projects from OpenOffice.org to Mozilla.

At its core the software contains a set of classes for handling various 
localization storage formats: DTD, properties, OpenOffice.org GSI/SDF,
CSV and of course PO and XLIFF.  It also provides scripts to convert between 
these formats.

Also part of the Toolkit are Python programs to create word counts, merge
translations and perform various checks on PO and XLIFF files.


Download
--------
The latest version of the Translate Toolkit can be downloaded from:
http://sourceforge.net/project/showfiles.php?group_id=91920

The latest documentation is always available at:
http://translate.sourceforge.net/wiki/toolkit/index
Documentation is also included in the doc directory.


Copying
-------
The Translate Toolkit is developed and Copyright:
	Zuza Software Foundation (Translate.org.za), and
	St James Software

and is released under the GPL license.

The Translate Toolkit Documentation is Copyright:
	Dwayne Bailey
	Javier SOLA
	David Fraser
	Friedel Wolff
	and others

and is released under the GPL.

Where useful emails have been quoted we have attempted to preserve the authors
name and assume that their work may be republished.

Joining the Translate Project
-----------------------------
If you would like to join the translate project mailing list then visit:
http://lists.sourceforge.net/lists/listinfo/translate-devel

The vision of the Translate Project is to be a meta project for localizers
built on the premise that your language deserves to be a project on its own
right not a poor cousin of the main project.

Most projects are inattentive to the needs and difficulties experienced by
localizers. To that end the aim is to work towards creating tools and
documentation that allows localizers to focus on what they do best: translating
software.

Requirements
------------
Python 2.3 or later is recommended.

The Toolkit may still work using Python 2.2 but is now most extensively tested 
using Python 2.4.  If you experience any errors and are using Python 2.2 or 2.3, 
then please first check that the error also occurs in 2.4 before reporting it 
as a bug.

Psyco can help to speed up several of the programs in the toolkit. It is
optional, but highly recommended.
http://psyco.sourceforge.net/

The python wrapper to htmltidy is needed for po2html.
http://utidylib.berlios.de/

The python-Levenshtein package will improve performance for fuzzy mathching if
it is available. This can improve the performance of pot2po, for example.  It 
is optional and no functionality is lost if it is not installed, only speed.
http://trific.ath.cx/resources/python/levenshtein/

Functions in the lang.data module can supply functions to translate language 
names using the iso-codes package. It can even translate names in the format 
  Language (Country)
such as
  English (South Africa)
This is used by Pootle 1.0 and later. If the package is not installed, the 
language names will simply appear in English. It is therefore recommended you 
install the iso-codes package for your distribution, but it is optional.
Alternatively, it is also available from
http://packages.debian.org/unstable/source/iso-codes

The programs have been tested on Linux and Windows.


Installation
------------

To install the Translate Toolkit

* Windows
Double Click on translate-N.N-py2exe.zip and extract to a directory
From a DOS Window 
<path-to-tools>\<command>

* Linux
tar xzf translate-N.N.tar.gz
cd translate-N.N
su -c ./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.


Bugs
----
We think there might be some :)

Please send your bug reports to:
  translate-devel at lists.sourceforge.net
or report them at our bugzilla server at
  http://bugs.wordforge.org/

Preferably with a patch or at least a test case.


Documentation
------------
Please read our documentation online at 
  http://translate.sourceforge.net/wiki/toolkit/index
There they are constantly being updated. Please feel free to contribute new 
sections and suggest corrections.

Most tools support the options --help and --manpage of which the output is 
automatically generated. The output of --manpage produces output suitable for 
formatting as a standard manpage. This can be viewed on UNIX platforms with 
  nroff -Tutf8 -mandoc
With pot2po as example:
  pot2po --manpage| /usr/bin/nroff -Tutf8 -mandoc|less
This is probably most useful for packagers to help them generate manual pages 
for the packaged versions.

Program overview
----------------

Use --help to find the syntax and options for all programs.

* Converters
oo2po, po2oo - convert between OpenOffice.org GSI files and PO
moz2po, po2moz - convert from a Mozilla XPI file and PO.  Including unpacking
	and building a translated XPI.
txt2po, po2txt - convert simple text files to PO
sxw2po - convert OpenOffice.org Writer files to PO
csv2po, po2csv - convert PO format to CSV for editing in a spreadsheet program
ts2po, po2ts - convert Qt Linguist (.ts) files to PO
html2po - convert HTML to PO (beta)
pot2po - PO file initialiser

* Tools
pomerge - merge corrected translations from pofilter back into your existing
	PO files.
pogrep - find words in PO files
pofilter - run any of the 28 checks on your PO files
podebug - Create comment in your PO files' msgstr which can then be used to quickly track down
	mistranslations as the comments appear in the application.

* Other Converters
These are not called directly but used in moz2po
dtd2po, po2dtd, prop2po, po2prop - for conversion of DTD and .properties files
	to PO format.
