Динамическое изменение языка в представлении QML - PullRequest
0 голосов
/ 13 мая 2019

В моем проекте есть языковая страница с четырьмя языковыми вариантами.Если мы изменим их, весь язык приложения и некоторые изображения будут изменены.Моя проблема в том, есть ли какой-нибудь сигнал / обратный вызов для переключения ресурсов, как в Android или какой-либо другой механизм, который мы должны использовать для этого QML?

1 Ответ

0 голосов
/ 14 мая 2019

Чтобы сделать то, что вам нужно, сначала ознакомьтесь с официальной документацией по интернационализации и локализации с 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 .

...