The Problem
Using native Qt translation files (TS, *.ts
) for exchanging with Transifex platform limits means to provide context
to translators to the only category:
C++ source code | TS XML element | Transifex metadata |
---|---|---|
Class Name | <name> ClassName</name> |
Context |
disambiguation parameter of tr() function |
<comment> Short comment</comment> |
N/A |
Translator Comments //: ... |
<extracomment> Nice comment.</extracomment> |
N/A |
More details:
- https://docs.transifex.com/formats/introduction
- https://docs.transifex.com/formats/qt-ts
- https://doc.qt.io/qt-5/linguist-ts-file-format.html
The Solution
XLIFF file format is supported by Transifex much better.
And Qt provides us with a stand-alone conversion tool lconvert
.
0$ lconvert -o bitcoin_es.xlf -i bitcoin_en.ts
Now more context options are available:
TS XML element | XLIFF XML element | Transifex metadata |
---|---|---|
<name> ClassName</name> |
<group resname="ClassName"> …</group> |
yes |
<comment> Short comment</comment> |
<context> Short comment</context> |
yes |
<extracomment> Nice comment.</extracomment> |
<note from="developer"> Nice comment.</note> |
yes |
More details:
- https://docs.transifex.com/formats/xliff
- https://code.qt.io/cgit/qt/qttools.git/tree/src/linguist/lconvert/lconvert.pro?h=5.12.10
Looking for Concept (N)ACKs.