我是Qt的粉丝,经常更新它,Qt5.1->5.2->5.3。
然而,像"Ok“"Cancel”"Save“这样的标准按钮的转换在Qt5.3中不再有效。他们没有被翻译,而只是简单的英语。
翻译代码通过Qt的每个版本进行而不是的更改。像这样:
TRANSLATIONS = qt_fr.ts
QTranslator trans
trans.load("qt_fr");
a.installTranslator(&trans);知道吗?
更新 AFAIN,可能是个bug。回到Qt5.1是一个荡妇,如果你不需要使用一些改进的新Qts。
发布于 2015-01-12 17:24:25
从Qt5.3开始,qt_*.qm被划分为多个文件(qt*_*.qm),现在您必须将qtbase_*.qm复制到翻译目录并一起使用。
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);发布于 2014-11-27 07:08:03
我也遇到了同样的问题,让它处理一个更新的翻译文件。我不确定这是否是预期的行为,但我的qt_de.qm只有1kB的文件大小。然而,有一个名为qtbase_de.qm now (154 do )的文件似乎可以完成这个任务。
发布于 2015-09-19 07:13:57
这是qt_ru的来源:
<?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将不会加载。
https://stackoverflow.com/questions/25850108
复制相似问题