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

但是,标准按钮(如“确定”“取消”“保存”)的翻译在 Qt5.3 中不再起作用。
它们没有翻译,只是简单的英语。

翻译代码在 Qt 的每个版本中都不会改变 而不是
喜欢:

TRANSLATIONS = qt_fr.ts
QTranslator trans
trans.load("qt_fr");
a.installTranslator(&trans);

任何想法?

[更新]
AFAIN,这可能是一个错误。如果你不必在新的 Qts 中使用一些改进,回到 Qt5.1 是一个解决方案。

最佳答案

从 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);

关于qt - QMessageBox 的翻译在 Qt5.3 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25850108/

10-12 20:42