start

Translate Toolkit is a toolkit to convert between various different translation formats (such as gettext-based .po formats, OpenOffice.org formats, and Mozilla formats). This makes it possible to stay in one format across all your localisation. Tools to help process and validate localizations, etc.

These documents are currently maintained in the wiki at http://translate.sourceforge.net/wiki/toolkit/index They are also packaged together with the Translate Toolkit source code for distribution - if you are reading this on your local filesystem that is likely how you have got them. If you want the latest version or want to make changes, consult the above wiki.

This Translate Toolkit documentation is under the GNU General Public License (GPL) (everything which is included with the Translate Toolkit and is in the toolkit/ namespace on the wiki). (see copyright).

This is the area for documenting the stable 0.8 branch of the code, for the unstable HEAD branch use toolkit (without the -0.8).

Old Translate Toolkit docs (These have mostly been migrated to the Wiki)

# Quick Start

- Migrating an older version of your translations to the latest templates
- Checking for technical errors in your translations
- Translating using only a spreadsheet (a look at the whole roundtrip from PO to CSV and back)
- Creating OpenOffice.org POT files
- Migrating Mozilla translations to Firefox
- Checking for inconsitencies in your translations
- Using `phase` for the complete translation roundtrip

# Converters

Converters change many different formats to PO and back again. (Sometimes only one direction is supported, or conversion is done without PO files.)

- oo2po - OpenOffice.org SDF converter
- moz2po - Mozilla .properties and .dtd converter. Works with Firefox and Thunderbird
- csv2po - Create Comma Seperated Value (CSV) files from PO files for editing in a spreadsheet
- ts2po - Qt .ts converter
- txt2po - Plain text to PO converter
- html2po - HTML converter
- xliff2po - XLIFF (XML Localisation Interchange File Format) converter
- po2tmx - TMX (Translation Memory Exchange) convertor
- pot2po - initialise PO Template files for translation
- csv2tbx - CSV to TBX convertor

### External

These use the toolkit but are no part of the toolkit package

- tiki2po - convert TikiWiki translation files to po

# Tools

The PO tools allow you to manipulate and work with PO files

- pocompile - create an MO (Machine Object) file from a PO file
- poconflict - extract messages that have conflicting translation
- pocount - Count words and string in PO files
- podebug - Add debug strings to messages
- pofilter - filter PO files to find common errors using a number of tests
- pogrep - find strings in your PO files
- pomerge - merge file extracted using pofilter back into the original files
- porestructure - restructures po files according to poconflict directives
- lookupserver - a server that can be queried with XML-RPC to lookup strings in a storage format

# Scripts

The scripts are for working with and manipulating PO files. Unlike the `tools` which are written in Python, the scripts are written in `bash`. They are not installed on your system by default.

- phase - Helps manage a project divided into phases of work, including sending, checking, etc
- pocompendium - Creates various types of PO compendium
- pomigrate - Migrate older PO files to new POT files
- pomigrate2 - Like pomigrate but completely automated
- poorphan - Identify unintialised and old files during migration
- posplit - Split a PO file into translate, untranslated and fuzzy files
- poreencode - Converts PO files to a new character encoding

# Testing

There are various tests around, but unit tests are in the process of being added using py.test which you can download from http://code2.codespeak.net/download/py/

To run the tests you do

    py.test

from the translate src directory or

    py.test storage/test_dtd.py

to run a specific set of tests. The usual procedure for fixing a bug involves adding a unit test to catch it, then making sure the test passes...

# Reporting Bugs

Bugs may be reported at bugs.wordforge.org under the “Translate Toolkit” component. More discussion can be had on the translate-devel mailing list

# Developers

If you would like to contribute to the development of the toolkit then join us on the translate-devel mailing list. And read the developers guide. Note that most new development happens on the HEAD, not on this stable branch.

# Conformance

For information on our conformance to standards, and which features are implemented, see conformance.