start
Table of Contents

pot2po

Convert a gettext PO Template file to a PO file and merge in existing translations if they are present. A translation memory (compendium) can also be used for fuzzy matching.

Usage

pot2po [options] <pot> <po>

Where:

<pot> is a PO Template (POT) file or directory of POT files
<po> is a PO file or a directory of PO files

Options:

--version show program’s version number and exit
-h, --help show this help message and exit
--manpage output a manpage based on the help
--progress=PROGRESS show progress as: dots, none, bar, names, verbose
--errorlevel=ERRORLEVEL show errorlevel as: none, message, exception, traceback
-iINPUT, --input=INPUT read from INPUT in pot format
-xEXCLUDE, --exclude=EXCLUDE exclude names matching EXCLUDE from input paths
-oOUTPUT, --output=OUTPUT write to OUTPUT in po, pot formats
-tTEMPLATE, --template=TEMPLATE read from TEMPLATE in po, pot formats
--psyco=MODE use psyco to speed up the operation, modes: none, full, profile
-P, --pot output PO Templates (.pot) rather than PO files (.po)
--tm=TM The file to use as translation memory when fuzzy matching
-sMIN_SIMILARITY, --similarity=MIN_SIMILARITY The minimum similarity for inclusion (default: 75%)
--nofuzzymatching Disable all fuzzy matching

Examples

pot2po -t zu-1.0.1 pot-2.0.2 zu-2.0.2

Here we are initialising the PO files in zu-2.0.2 based on the POT files in pot-2.0.2. We are using the old translations in zu-1.0.1 as templates so that we can reuse our existing translations in the new files.

If the POT files have undergone major reshuffling then you may want to use pomigrate2 which can now use pot2po as its merging backend. pomigrate2 will do its best to migrate your files to the correct locations before merging. It will also make make use of a compendium if requested.

pot2po --tm=compendium.po --similarity=60 -t xh-old pot xh-new

With this update we are using compendium.po as a translations memory (you can make use of other files such as TMX, etc). We will accept any match that scores above 60%.

Merging

It helps to understand when and how pot2po will merge. The default is to follow msgmerge’s behaviour but we add some extra features with fuzzy matching:

Bugs