Qt插件翻译出现问题

Trouble in Qt plugin translation

本文关键字:问题 翻译 插件 Qt      更新时间:2023-10-16

我开发了一个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已经成功,但没有文本被翻译。你能告诉我如何在插件中翻译文本吗?

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

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";