# Converters

Converters change many different formats to PO and back again. Sometimes only one direction is supported, or conversion is done using non-PO formats. The converters follow a general pattern of usage, understanding that will make the converters much easier to use and understand.

- moz2po – Mozilla .properties and .dtd converter. Works with Firefox and Thunderbird
- oo2po – OpenOffice.org SDF converter (Also works as `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
- resx2po – .Net Resource (.resx) file 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 and Jenkins

## 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
- pretranslate – fill any missing translations from translation memory via fuzzy matching.
- Levenshtein distance – edit distance algorithms for translation memory matching

# 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
- Mozilla L10n Scripts – Build Mozilla products Firefox and Thunderbird
- 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