【发布时间】:2017-08-16 20:18:43
【问题描述】:
我有一个带有按钮的应用程序,这些按钮为各种点击状态设置了图标,没有设置或显示实际的 QPushButton 文本;它都包含在图标中。
这些图标文件包含需要翻译的文本,并且已经为每种语言和状态生成。我正在寻找一种方法来使用 QTranslator 或 QAction 类来根据所选的主要语言自动选择要使用的按钮的本地化版本。
例如:
BTN_Media_Browse->setIcon(QIcon(QPixmap(tr(":/Images/BTN_Media_Browse_Unpressed.png"))));
我已按照QT Wiki: Multi Language Application 上的说明进行操作,但按钮未显示在生成的翻译 (.ts) 文件中。根据语言为每个使用实例设置一个 switch case 并不理想。
【问题讨论】:
-
您要翻译整个文本还是只翻译一部分?
-
我想翻译位置文本。例如:
tr(":/Images/BTN_Media_Browse_Unpressed.png")变为":/Images/BTN_Media_Browse_Unpressed_en.png"或":/Images/BTN_Media_Browse_Unpressed_de.png"为清楚起见进行了编辑。 -
您可以通过 github、drive、dropbox 或类似的方式分享您的测试代码。
-
您可以使用 .qrc 文件。请参阅Qt 资源系统 主题。例如:
<qresource> <file>cut.jpg</file> </qresource> <qresource lang="fr"> <file alias="cut.jpg">cut_fr.jpg</file> </qresource> -
这非常有效。请提供此作为答案,以便我接受。可能值得为像我这样困惑的其他人添加更多说明或链接。
标签: qt translation qpushbutton qaction qtranslator