在我的项目中,有一个带有四个语言选项的语言页面。如果我们更改它们,则整个应用程序语言和某些图像都会更改。我的问题是,是否有任何信号/回调来切换资源,例如Android中的信号或回调,或者我们应该遵循此QML的任何其他机制?
答案 0 :(得分:0)
要执行所需的操作,首先要熟悉official documentation on Internationalization and Localization with 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();
}