将Qt框架中的特定短语添加到我的应用程序的翻译文件中

时间:2011-03-07 12:32:00

标签: qt qt4 translation

有没有办法将Qt框架的内部.ts文件中的特定短语添加到我的应用程序的翻译文件中?我只需要为QMessageBox和朋友翻译几个短语。

编辑:

我也想:

  1. 将应用程序的.ts文件中的短语捆绑在一起
  2. 在例程lupdate
  3. 之后阻止他们过时

    总是有一个子类QMessageBox的替代品,但我想首先尝试一个完美主义的解决方案。

    编辑#2:

    我通过Qt发行版中的应用程序运送.qm文件,解决了这个问题。如果有人提出更优雅的解决方案,我会保持这个问题。

2 个答案:

答案 0 :(得分:1)

EDITED: 对于内部Qt短语的自定义翻译,您只需要执行一些步骤:

  1. 修改Qt SDK目录中qt_lang.ts文件夹中的相应translation。我强烈建议您为此目的使用Qt linguist
  2. qt_lang.ts上使用lrelease实用程序生成.qm文件。
  3. 修改您的代码。您需要使用QTranslator类在您的应用中安装生成的翻译文件。
  4. 使用生成的.qm分发您的应用。所有.qm文件必须以相对于您的应用二进制文件的特殊目录排列。默认情况下,它是translations文件夹,但您可以使用自定义qt.conf更改此目录。
  5. 因此,当您更改应用程序语言时,您将需要(由您翻译)短语。

    例如,如果您想为俄罗斯朋友实现自定义翻译,则需要在qt_ru.ts中打开Qt Linguist,找到QMessageBox个上下文并翻译所有需要的短语。然后按照上述说明进行操作。

答案 1 :(得分:0)

在Qt中你可以为你的应用程序加载各种ts文件,我会尝试不提取所需的短语,但加载qt ts文件和你自己的翻译