C++ Qt插件翻译中的问题
我开发了一个Qt应用程序和一个加载了C++ Qt插件翻译中的问题,c++,qt,plugins,translate,C++,Qt,Plugins,Translate,我开发了一个Qt应用程序和一个加载了QPluginLoader的插件。 我翻译了我的插件并创建了一个.qm文件,但加载这个.qm文件时插件并没有翻译 这是我的密码: int main(int argc, char *argv[]) { QApplication a(argc, argv); QTranslator translator; translator.load(QLocale::system(), "tr", "_", QString("tra
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";
你知道所有需要翻译的字符串都必须由tr()宏包装吗?我肯定是用tr()包装了所有字符串。你的意思是我需要将QTranslator传递给我的插件吗?