2

在我的项目中,有一个包含四种语言选项的语言页面。如果我们改变它们,整个应用程序语言和一些图像就会改变。我的问题是是否有任何信号/回调来切换资源,就像在 Android 中一样,或者我们应该为此 QML 遵循的任何其他机制?

4

1 回答 1

2

要做你需要做的,首先,熟悉有关使用 Qt Quick 进行国际化和本地化的官方文档

接下来,您需要将所有应该翻译成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();
}

根据文章Qt 5.10 中的新功能:QML 中的动态语言更改

于 2019-05-14T13:43:51.467 回答