Convert Gettext PO files to a TMX translation memory file. TMX is the Translation Memory eXchange format developed by LISA (Localization Industry Standards Association)
po2tmx [options] --language <target> <po> <tmx>
Where:
<po> | is a PO file |
<tmx> | is a TMX file |
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 po, pot formats |
-xEXCLUDE, --exclude=EXCLUDE | exclude names matching EXCLUDE from input paths |
-oOUTPUT, --output=OUTPUT | write to OUTPUT in tmx format |
--psyco=MODE | use psyco to speed up the operation, modes: none, full, profile |
-lLANG, --language=LANG | set target language code (e.g. af-ZA) [required] |
--source-language=LANG | set source language code (default: en) |
po2tmx -l xh browser.po browser.tmx
Use the Xhosa (xh) translations in the PO file browser.po to create a TMX file called browser.tmx
po2tmx conforms to TMX v1.4 without stripping markup. See the tmx conformance page for more details.
It has not been widely tested so your mileage may vary.
To create a TMX with no duplicates (in other words, only unique strings), use msgcat to first create a large PO file with non-uniques removed.
Steps for MS Windows:
1. Create a text file (say, allfiles.txt) that contains the paths of all the PO files (in Linux just use the “find” command). The file should contain one path per line (relative or absolute). In MS Windows, you can use PikyBasket. In MS Windows, make sure the file has no BOM.
2. Do: msgcat -f allfiles.txt -u -o bigpofile.po
3. Now do po2tmx on that bigpofile.po
Here is a page on support for toolkit tmx by other tools (mostly MS Windows).