【问题标题】:Trouble in Qt plugin translationQt插件翻译问题
【发布时间】:2016-07-23 12:07:24
【问题描述】:

我开发了一个 Qt 应用程序和一个加载了QPluginLoader 的插件。 我翻译了我的插件并创建了一个 .qm 文件,但是当我加载这个 .qm 文件时插件没有被翻译。

这是我的代码:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTranslator translator;
    translator.load(QLocale::system(), "tr", "_", 
        QString("translations/myplugin"));
    QCoreApplication::installTranslator(&translator);

我确认installTranslator 已成功,但没有翻译文本。 你能告诉我如何翻译插件中的文字吗?

【问题讨论】:

  • 你知道你要翻译的所有字符串都必须用 tr() 宏包装吗?
  • 我肯定用 tr() 包裹了所有字符串。

标签: c++ qt plugins translate


【解决方案1】:

我无法从您的问题中看出太多,但是一旦您安装了翻译器,每次需要翻译一个单词时都需要调用它。它会给你这样的东西:

QString word;
if (word.toTranslate()) //you want a word translated
    word = translator.tr("This will be translated");
else                    // you don't need a translation 
    word = "This will not be translated";

【讨论】:

  • 你的意思是我需要将 QTranslator 传递给我的插件吗?
猜你喜欢
  • 2015-02-11
  • 2020-10-10
  • 2020-04-03
  • 2013-05-03
  • 2012-10-27
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多