在我的应用程序中,我需要国际化。
假设我为不同语言创建了多个 .ts 文件,例如,
德语、法语等 - 以及翻译的短语。
现在,假设用户想要在运行时更改语言。
使用Qt方法是不可能的吗?
Qt 5.10 中引入的函数 QQmlEngine::retranslate 只是重新评估所有属性绑定。这包括在右侧调用 qsTr() 的所有绑定。
void Settings::switchToLanguage(const QString &language)
{
if (!m_translator.isEmpty())
QCoreApplication::removeTranslator(&m_translator);
m_translator.load(QStringLiteral(":/language_") + language));
QCoreApplication::installTranslator(&m_translator));
m_engine->retranslate();
}
欲了解更多详细信息,您可以查看这个帖子 http://www.embeddeduse.com/2017/11/12/new-in-qt-5-10-dynamic-language-change-in-qml/ too.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)