首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt5.3中QMessageBox的翻译不起作用

Qt5.3中QMessageBox的翻译不起作用
EN

Stack Overflow用户
提问于 2014-09-15 14:13:44
回答 3查看 2.8K关注 0票数 3

我是Qt的粉丝,经常更新它,Qt5.1->5.2->5.3。

然而,像"Ok“"Cancel”"Save“这样的标准按钮的转换在Qt5.3中不再有效。他们没有被翻译,而只是简单的英语。

翻译代码通过Qt的每个版本进行而不是的更改。像这样:

代码语言:javascript
复制
TRANSLATIONS = qt_fr.ts
QTranslator trans
trans.load("qt_fr");
a.installTranslator(&trans);

知道吗?

更新 AFAIN,可能是个bug。回到Qt5.1是一个荡妇,如果你不需要使用一些改进的新Qts。

EN

回答 3

Stack Overflow用户

发布于 2015-01-12 17:24:25

从Qt5.3开始,qt_*.qm被划分为多个文件(qt*_*.qm),现在您必须将qtbase_*.qm复制到翻译目录并一起使用。

代码语言:javascript
复制
QString translationsPath(QLibraryInfo::location(QLibraryInfo::TranslationsPath));
QLocale locale = QLocale::system();

QTranslator qtTranslator;
if (qtTranslator.load(locale, "qt", "_", translationsPath))
    a.installTranslator(&qtTranslator);

QTranslator qtBaseTranslator;
if (qtBaseTranslator.load(locale, "qtbase", "_", translationsPath))
    a.installTranslator(&qtBaseTranslator);
票数 4
EN

Stack Overflow用户

发布于 2014-11-27 07:08:03

我也遇到了同样的问题,让它处理一个更新的翻译文件。我不确定这是否是预期的行为,但我的qt_de.qm只有1kB的文件大小。然而,有一个名为qtbase_de.qm now (154 do )的文件似乎可以完成这个任务。

票数 2
EN

Stack Overflow用户

发布于 2015-09-19 07:13:57

这是qt_ru的来源:

代码语言:javascript
复制
   <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE TS>
    <TS version="2.0" language="ru">
    <dependencies>
        <dependency catalog="qtbase_ru"/>
        <dependency catalog="qtscript_ru"/>
        <dependency catalog="qtquick1_ru"/>
        <dependency catalog="qtmultimedia_ru"/>
        <dependency catalog="qtxmlpatterns_ru"/>
    </dependencies>
    </TS>

因此,有必要使用所有这些翻译文件部署应用程序。如果至少缺少一个文件,则翻译qt_ru将不会加载。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25850108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档