我是 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/