如何制作多语言QT UI应用程序?

时间:2017-01-17 11:51:17

标签: c++ qt multilingual qtwebkit qt-linguist

我正在开发一个新项目,我需要为停车场公司开发一个简单的基于桌面的Qt应用程序。这个应用程序实际上应该驻留在Entry& Sons的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

由于我的应用程序UI非常简单,没有复杂的短语或大量数据需要转换,我正在寻找除上述两个链接中建议的任何其他选择。

我请专家建议我可以选择的最佳替代方案。

如果这是一个好主意,请告诉我 "拥有可以与c ++逻辑交互的Qt Web应用程序。通过这种方式,我可以轻松地浏览网页(就像在网页上使用Google翻译一样简单)&在Qt窗口上显示它"

请建议实现这一目标的最佳方法。

1 个答案:

答案 0 :(得分: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框架提供的所有工具。