Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ QTranslator не переводит

Автор: aerosun 5.2.2014, 12:40

Есть глобальная текстовая переменная. Пытаюсь её перевести на другой язык - не переводится ничего. :(
Минимальный тестовый пример:

QString aaa = QObject::tr(QT_TR_NOOP("Hello"));

int MainFunc( int argc, char *argv[] )
{
    QApplication app(argc, argv);

    QTranslator translator;
    bool is = translator.load("appcenter_ru.qm", app.applicationDirPath());
    QApplication::installTranslator(&translator);

    QLabel lbl(aaa);
    lbl.show();

    return app.exec();
}

Файл перевода лежит рядом с бинарником, переменная is равна true. Тоесть всё сделал правильно.
Не переводит!
В чём может быть причина и как сделать, чтобы переводило?

Автор: Litkevich Yuriy 5.2.2014, 16:32

я не сталкивался с ситуацией, когда строки помечаются как строки для перевода, до установки переводчика. Возможно причина в этом, чтобы проверить попробуй переместить строку

QString aaa = QObject::tr(QT_TR_NOOP("Hello"));

после
QApplication::installTranslator(&translator);




И, кстати, У тебя масло масленное получилось, используй либо макрос, либо QObject::tr()

Автор: aerosun 5.2.2014, 21:47

О, спасибо, разобрался.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)