Как сделать многоязычное приложение QT UI?

Я работаю над новым проектом, в котором мне необходимо разработать простое настольное приложение Qt для компании, занимающейся парковкой автомобилей. Это приложение должно фактически находиться на машинах Linux, расположенных на входе и выходе из автостоянки.

Теперь моя настоящая проблема - сделать это приложение многоязычным. Прямо сейчас я использую Qt 4.8.6 и прошел определенную документацию по ссылкам ниже

http://doc.qt.io/qt-4.8/linguist-manual.html

http://doc.qt.io/qt-4.8/linguist-translators.html

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

Я прошу экспертов предложить лучшую альтернативу, с которой я могу пойти.

Также, пожалуйста, дайте мне знать, если это хорошая идея: "Наличие веб-приложения Qt, которое может взаимодействовать с логикой C++. Таким образом, я могу легко выполнять перевод веб-страниц во время выполнения (так же просто, как использовать переводчик Google на веб-странице) & имея его в окне Qt "

Пожалуйста, предложите лучший способ добиться этого.

1 ответ

Решение

Я бы порекомендовал использовать QTranslator как:

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

    QTranslator qtTranslator;
    qtTranslator.load("qt_" + QLocale::system().name(),
            QLibraryInfo::location(QLibraryInfo::TranslationsPath));
    app.installTranslator(&qtTranslator);

    QTranslator myappTranslator;
    myappTranslator.load("myapp_" + QLocale::system().name());
    app.installTranslator(&myappTranslator);

    // You app runs here

    return app.exec();
}

Перевод будет сохранен в ts-файлах, которые могут быть сгенерированы с помощью рабочего процесса lupdate / lrelease, включая все инструменты, предоставляемые Qt-framework.

Другие вопросы по тегам