首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTranslator和installTranslator

QTranslator和installTranslator
EN

Stack Overflow用户
提问于 2011-06-14 14:21:05
回答 1查看 2.3K关注 0票数 3

我的项目中有一个带有qsTr()函数的qml文件。我也为这个qml创建了一个翻译文件。在主程序中,我创建了一个QDeclarativeView对象来运行qml文件,还创建了一个QTranslator。我发送了一个指向这个Qtranslator的指针,以及一个指向当语言改变时调用的另一个函数的QApplication的指针。在这个函数中,我写道:

代码语言:javascript
复制
    QLocale myLocale;
    QString locale = myLocale.name();
    m_translator->load(pagePrefix +'_'+ locale);//(QLibraryInfo::TranslationsPath));
    m_appManager->installTranslator(m_translator);

然后我再次加载了qml文件。但这并没有改变翻译(而且区域设置也改变了)。我不知道问题出在哪里……

EN

回答 1

Stack Overflow用户

发布于 2011-06-14 15:44:25

在代码中验证转换器是否已成功加载。

代码语言:javascript
复制
bool loaded = false;
loaded = m_translator->load(pagePrefix +'_'+ locale);
if (!loaded)
    qWarning() << QString("can't load %1 translation").arg(locale);

有了这个,你可以看到你的文件是正确的lodad还是根本不是。如果不是,请验证.qm文件的路径。如果是,请确保您的.qm内部有正确的转换。

顺便说一句,确保你安装的是你的翻译版本

代码语言:javascript
复制
m_appManager->installTranslator(m_translator);

在你创建你的小部件之前(如果我没记错的话,你应该按这个顺序来做)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6339799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档