在我的应用程序中,我需要国际化。 假设我为不同的语言创建了几个 .ts 文件,例如, 德语、法语等 - 连同翻译后的短语。
现在,假设用户想在运行时更改语言。 使用 Qt 方法是不可能的吗?
最佳答案
Qt 5.10 中引入的函数 QQmlEngine::retranslate 只是重新评估所有属性绑定(bind)。这包括在右侧调用 qsTr() 的所有绑定(bind)。
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();
}
更多详情可以查看this post也是。
关于c++ - 是否可以在运行时更改 Qt 上的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15355156/