Qt lrelease 工具可以处理 XLIFF 文件而不是 ts 文件吗?

Can Qt lrelease tool process XLIFF files instead of ts-files?

在我阅读的 Qt lrelease tool 的文档中,可以使用以下命令将 .ts 文件编译为 .qm 二进制文件:

lrelease.exe main_en.ts languages\main_fr.ts

是否可以使用 .xliff 个文件而不是 .ts 个文件来将 .xliff 个文件编译为 .qm 个文件?它是怎么做到的?

根据 documentation of lupdate,提到您可以从 XLIFF 文件生成 .ts 文件。然后,您可以使用 lrelease 生成 .qm 文件。

请注意,仅支持 XLIFF 1.1 格式,不支持 1.0。

要将 xliff 文件转换为 ts,您可以使用带有命令行的 lconvert 实用程序,如下所示:

lconvert -o converted.ts -i original.xlf 

这是 lconvert -help 的输出:

Usage: lconvert [options] [...]

lconvert is part of Qt's Linguist tool chain. It can be used as a stand-alone tool to convert and filter translation data files. The following file formats are supported:

qm    - Compiled Qt translations
pot   - GNU Gettext localization template files
ts11  - Qt translation sources (format 1.1)
ts20  - Qt translation sources (format 2.0)
qph   - Qt Linguist 'Phrase Book'
ts    - Qt translation sources (latest format)
po    - GNU Gettext localization files
xlf   - XLIFF localization files

If multiple input files are specified, they are merged with translations from later files taking precedence.

Options: -h --help Display this information and exit.

-i <infile>
--input-file <infile>
       Specify input file. Use if <infile> might start with a dash.
       This option can be used several times to merge inputs.
       May be '-' (standard input) for use in a pipe.

-o <outfile>
--output-file <outfile>

有关此 Qt 工具的更多信息here