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
  • tiki2poTikiWiki language.php converter
  • ts2po – Qt Linguist .ts converter
  • xliff2po – XLIFF (XML Localisation Interchange File Format) converter
  • yaml2po – YAML (Yet Another Markup Language) 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