我正在使用 Qt 并希望翻译 Qt 小部件显示的“本机”文本。例如,通过“本机显示的文本”,我指的是上下文菜单中显示的文本编辑(复制,粘贴,...)。
这是我已经完成的:
#include <QApplication>
#include <QDebug>
#include <QTranslator>
#include <QFile>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTranslator translator;
if(translator.load("qt_fr.qm", QApplication::applicationDirPath())) {
qDebug() << a.installTranslator(&translator);
}
qDebug() << QFile::exists(QApplication::applicationDirPath() + "/qt_fr.qm"); // just to debug file existence
// MainWindow w; // not related to my question
// w.showMaximized(); // neither is this
return a.exec();
}
对于Qt5.6.2 和 MinGW 用户, qt_fr.qm文件位于path_to_qt/Qt5.6.2/5.6/mingw49_32/translations 。我将上述文件复制到正在运行的软件目录,但翻译器总是无法加载它。但是当我使用自己的 qm 文件(使用 Qt lupdate 和 lrelease 工具从 .ts 文件构建)时,qm 文件已正确加载和安装。
我有什么遗漏或做错了吗?