ts2po¶
Convert Qt .ts localization files to Gettext .po format files using ts2po and convert the translated PO Files files back to Qt .ts using po2ts.
The Qt toolkit comes with a localization application, Qt Linguist, however you might wish to standardise on one localization tool. ts2po allows you to standardise on the PO format and PO related tools.
Warning
po2ts uses our older .ts support. Thus many of the newer features in .ts are not supported. To support those features rather edit directly in Virtaal or Pootle.
Usage¶
ts2po [options] <ts> <po>
po2ts [options] <po> <ts>
Where:
<ts> |
is a Qt .ts file or directory that contains .ts files |
<po> |
is a PO file or a directory of PO files |
Options (ts2po):
- --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
- -i INPUT, --input=INPUT
read from INPUT in ts format
- -x EXCLUDE, --exclude=EXCLUDE
exclude names matching EXCLUDE from input paths
- -o OUTPUT, --output=OUTPUT
write to OUTPUT in po, pot formats
- -S, --timestamp
skip conversion if the output file has newer timestamp
- -P, --pot
output PO Templates (.pot) rather than PO files (.po)
- --duplicates=DUPLICATESTYLE
what to do with duplicate strings (identical source text): merge, msgctxt (default: ‘msgctxt’)
Options (po2ts):
- --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
- -i INPUT, --input=INPUT
read from INPUT in po, pot formats
- -x EXCLUDE, --exclude=EXCLUDE
exclude names matching EXCLUDE from input paths
- -o OUTPUT, --output=OUTPUT
write to OUTPUT in ts format
- -t TEMPLATE, --template=TEMPLATE
read from TEMPLATE in ts format
- -S, --timestamp
skip conversion if the output file has newer timestamp
- -c CONTEXT, --context=CONTEXT
use supplied context instead of the one in the .po file comment
Examples¶
ts2po -P psi.ts psi.pot
This will create a POT file called psi.pot from the Qt .ts file called psi.ts.
po2ts af.po psi_af.ts
Now take your translated PO files af.po and convert it into a translated Qt .ts file, psi_af.ts.
Note
You need to use the tools from the Qt toolkit to create the compiled .qm language files for the application.
Bugs¶
There are probably still some bugs related to migrating the various attributes across for the different formats. The converters don’t support all the newer features of the TS format, whereas the native support of Virtaal and Pootle is much better.