QTranslator и installTranslator - PullRequest
       0

QTranslator и installTranslator

2 голосов
/ 14 июня 2011

У меня есть в моем проекте qml файл с функцией qsTr (). я создаю также файлы перевода для этого qml. в основной программе я создаю объект QDeclarativeView для запуска файла qml, а также QTranslator. я посылаю указатель на этот Qtranslator, и указатель на QApplication на другую функцию, которая вызывается при изменении языка. в этой функции я пишу:

    QLocale myLocale;
    QString locale = myLocale.name();
    m_translator->load(pagePrefix +'_'+ locale);//(QLibraryInfo::TranslationsPath));
    m_appManager->installTranslator(m_translator);

и затем я снова загрузил файл qml. но это не изменило перевод (и язык был изменен). я не знаю где проблема ....

1 Ответ

2 голосов
/ 14 июня 2011

подтвердите в своем коде, что переводчик успешно загружен.

bool loaded = false;
loaded = m_translator->load(pagePrefix +'_'+ locale);
if (!loaded)
    qWarning() << QString("can't load %1 translation").arg(locale);

, с помощью которого вы можете увидеть, правильно ли загружен ваш файл или нет.если нет, проверьте путь к вашему файлу .qm.Если да, убедитесь, что ваш .qm имеет правильный перевод внутри.

и, кстати, убедитесь, что вы устанавливаете свой перевод

m_appManager->installTranslator(m_translator);

, прежде чем создавать свои виджеты (если я правильно помнювы должны сделать это в следующем порядке)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...