2012-02-27 2 views
0

Я пытаюсь установить traslation для приложения. Я из Бразилии, поэтому приложение должно быть pt br и en-us, при кодировании я использовал английский. Я нашел этот пост о том, как использовать QTranslator:Интернационализация на Qt 4.8

Qt Linguist - set translator for application

но при запуске приложения на системе PT-BR это проявляется в английском. Я что-то упускаю? P.S. не нашел командной строки Q, поэтому я использовал Инструменты меню -> Внешний -> Лингвист -> Перевод обновлений (lupdate).

также создали .qm файл, here's кусок моего кода:

QApplication a(argc, argv); 

QTranslator *trans = new QTranslator(); 

trans->load("C:/SVN/trunk/rcs/frameworkIdentity_ptbr.qm"); 

a.installTranslator(trans); 

FIdMain w; 
+2

Вы проверили возвращаемое значение 'load'? –

+0

также вы использовали функцию [translate] (http://developer.qt.nokia.com/doc/qt-4.8/qtranslator.html#translate)? –

+0

Да, я проверил возврат нагрузки, он возвращает true, я использовал функцию tr, как в этом примере, из Qt: http://doc.qt.nokia.com/4.7-snapshot/linguist-hellotr.html –

ответ

0

Это довольно много, что я в моем приложении, где перевод работает (пропущено ниже).

Проблема не в фрагментах, которые вы указали. Как было предложено в комментариях, возможно, что виджеты создаются до перевода

int main(int argc, char** argv) 
{ 
    QApplication app(argc, argv); 

    QTranslator translator; 
    if ( !Settings::value("monitor/languageFile").isNull()) 
    { 
     translator.load(Settings::value("monitor/languageFile").value<QString>()); 
     app.installTranslator(&translator); 
    } 
    MainWindow mainWindow; 
    mainWindow.show(); 
    return app.exec(); 
} 
+0

Переводчик установлен перед основным окном, но все равно никаких изменений, я просматриваю Qt foruns, ища решение. –

+0

Можете только думать, что, возможно, файл перевода (.qm) не содержит переведенных строк или, возможно, вы пропустили макрос Q_OBJECT в классе. Попробуйте сначала перевести строку, которая поступает из файла .ui, чтобы увидеть, работает ли она, тогда вы можете сузить проблему. – Correa

Смежные вопросы