我正在尝试将加载的翻译存储在QApplication中 我正在用这种方式加载语言
QTranslator translator;
QString dir = QApplication::applicationDirPath();
dir.append("/languages");
if(translator.load("main_pl.qm", dir))
QApplication::installTranslator(&translator);
然后我试图以这种方式进行翻译:
QApplication::translate("accountTab", "Login completed!", 0)
没有成功。 所以我试图在函数中加载翻译(与上面相同),后来我正在翻译 - 这很有效。 翻译正在加载翻译的功能。 有什么建议,如何让它在所有类别和功能中运作?
答案 0 :(得分:2)
我认为问题在于你创建了一个临时翻译器,一旦你离开你的功能范围就会被删除。为了使您的翻译器对象“活着”,您需要从堆中分配它。例如:
QTranslator *translator = new QTranslator;
QString dir = QApplication::applicationDirPath();
dir.append("/languages");
if(translator->load("main_pl.qm", dir)) {
QApplication::installTranslator(translator);
}