start

# The Translate Toolkit

The Translate Toolkit is a collection of useful tools for localisation, and a powerful API for programmers of localisation tools. It is designed by localisers for localisers. Its aim is to make your localisation easier and of higher quality.

The Toolkit can convert between various different translation formats (such as Gettext PO formats, XLIFF, OpenOffice.org, and Mozilla formats). This makes it possible to stay in one format across all your localisation, thus allowing you to master one translation editor instead of one per project. Of course an added benefit is that now you cannot create broken OpenOffice.org or Mozilla translation files.

To help improve the quality of your localisation, the Toolkit includes tools to help check, validate, merge and extract messages from your localizations. And of course there are many other benefits.

The Toolkit has a long history and is part of our project to build standards based localisation tools for Free and Open Source Software. At this stage the Translate Toolkit API already forms the technological basis of the translation tools built by ourselves and several other projects. If you want to use the Toolkit to build translation tools, you might be interested in the API documentation for the Translate Toolkit.

This documentation is maintained in the wiki at http://translate.sourceforge.net/wiki/toolkit/index . If you want the latest version or want to make changes, please consult the wiki.

# Quick Start

- Installation
- Features
- Important changes
- General usage
- History
- Contributing
- Reporting bugs
- Copyright

# Use Cases

- 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
- Translating Mozilla products
- Checking for inconsistencies in your translations
- Creating a terminology list from your existing translations
- Running the tools on Microsoft Windows
- Using `phase` for the complete translation roundtrip
- Cleanup translator comments

# Converters

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

- moz2po - Mozilla .properties and .dtd converter. Works with Firefox and Thunderbird
- oo2po - OpenOffice.org SDF converter (See also oo2xliff).
- odf2xliff - Convert OpenDocument (ODF) documents to XLIFF and vice-versa.
- prop2po - Java property file (.properties) converter
- php2po - PHP localisable string arrays converter.
- sub2po - Converter for various subtitle files
- txt2po - Plain text to PO converter
- po2wordfast - Wordfast Translation Memory converter
- po2tmx - TMX (Translation Memory Exchange) converter
- pot2po - initialise PO Template files for translation
- csv2po - Comma Separated Value (CSV) converter. Useful for doing translations using a spreadsheet.
- csv2tbx - Create TBX (TermBase eXchange) files from Comma Separated Value (CSV) files
- html2po - HTML converter
- ical2po - iCalendar file converter
- ini2po - Windows INI file converter
- json2po - JSON file converter
- web2py2po - web2py translation to PO converter
- rc2po - Windows Resource .rc (C++ Resource Compiler) converter
- symb2po - Symbian-style translation to PO converter
- tiki2po - TikiWiki language.php converter
- ts2po - Qt Linguist .ts converter
- xliff2po - XLIFF (XML Localisation Interchange File Format) converter

# Tools

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

### Quality Assurance

These tools are especially useful for measuring and improving translation quality.

- poconflicts - extract messages that have conflicting translation
- 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
- junitmsgfmt - run msgfmt and provide JUnit type output for use in continuous integration systems like Hudson

### Other tools

- tmserver - a Translation Memory server, can be queried over HTTP using JSON
- poterminology - extracts potential terminology from your translation files
- pocount - Count words and strings in PO, XLIFF and other types of translatable files
- podebug - Add debug strings to messages
- posegment - Break a PO or XLIFF files into sentence segments, useful for creating a segmented translation memory
- pocompile - create an MO (Machine Object) file from a PO or XLIFF file
- poswap - uses a translation of another language that you would rather use than English as source language
- poclean - produces a clean file from an unclean file (Trados/Wordfast) by stripping out the tw4win indicators

# 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`. Some of them are packaged since version 1.0 of the Toolkit, but you might need to download them from version control and do a manual installation .

- moz-l10n-builder - Create Mozilla XPIs and rebuild Windows installers from existing translations
- phase - Helps manage a project divided into phases of work, including sending, checking, etc
- pocompendium - Creates various types of PO compendium (i.e. combines many PO files into a single PO file)
- pocommentclean - Remove all translator comments from a PO file
- pomigrate2 - Migrate older PO files to new POT files
- popuretext - Extracts all the source text from a directory of POT files
- poreencode - Converts PO files to a new character encoding
- posplit - Split a PO file into translate, untranslated and fuzzy files