Интернационализация на Qt 4.8 - PullRequest
0 голосов
/ 28 февраля 2012

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

Qt Linguist - установить переводчик для приложения

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

Также создали файл .qm, вот фрагмент моего кода:

QApplication a(argc, argv);

QTranslator *trans = new QTranslator();

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

a.installTranslator(trans);

FIdMain w;

1 Ответ

0 голосов
/ 28 февраля 2012

Это в значительной степени то, что я делаю в своем собственном приложении, где работает перевод (см. Ниже).

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

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();
}
...