Qt从非源文件翻译字符串

Sas*_*cha 9 c++ qt translation

我有一个使用XML文件的Qt项目.这些XML文件包含人类可读的文本,应使用Qt工具(lupdate,lrelease,QtLinguist)翻译此文本.

问题是,是否可以通过lupdate在.ts文件中生成条目,而不使用QT_TR_NOOP()宏和朋友在源代码文件中复制XML文件中的字符串?或者一般来说,如何在Qt项目的非源文件中翻译字符串?

Jér*_*ôme 6

我们遇到了同样的问题:包含人类可读字符串的XML文件.

我们的解决方案是确保XML文件中的人类可读字符串易于提取(我们将它们放在LABEL属性中),我们开发了一个小工具,它可以解析XML文件,提取字符串,生成上下文(通过提取数据)从XML文件中),然后生成包含列表的CPP头文件QT_TR_NOOP().

此文件已添加到我们使用的项目文件(.pro)中lupdate.

这个解决方案对我们来说很好,但我们必须非常小心两件事:

  • 每次更改XML文件的内容时运行此工具.
  • 确保XML文件是UTF-8编码的.