【问题标题】:How to make multilingual QT UI application?如何制作多语言 QT UI 应用程序?
【发布时间】:2017-01-17 11:51:17
【问题描述】:

我正在从事一个新项目,我需要为一家停车场公司开发一个基于桌面的简单 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

由于我的应用程序 UI 非常简单,没有复杂的短语或需要翻译的大量数据,因此我正在寻找上述两个链接中建议的替代方案。

我请求专家建议我可以采用的最佳替代方案。

如果这是个好主意,请告诉我 “拥有一个可以与 c++ 逻辑交互的 Qt Web 应用程序。通过这种方式,我可以在运行时轻松翻译网页(就像在网页上使用 Google 翻译器一样简单)并将其放在 Qt 窗口中”

请提出实现这一目标的最佳方法。

【问题讨论】:

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


    【解决方案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 框架提供的所有工具。

    【讨论】:

      猜你喜欢
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-01
      • 2017-11-25
      • 1970-01-01
      • 2012-07-04
      相关资源
      最近更新 更多