Qt5加载.qm翻译文件

Qt5 Loading .qm translation file

我正在尝试将我的 Qt5.5 应用程序翻译成英语。我制作了 .ts 文件并翻译了字符串 -> 制作了 English.qm 文件。 我已将它放在资源中:

translations.qrc:

<RCC>
    <qresource prefix="/translations">
        <file>Resources/Languages/English.qm</file>
    </qresource>
</RCC>

当我试图加载它时,我不能...你能帮我如何以正确的方式加载 .qm 并通过从 .qm 翻译来替换原始字符串吗? 还有一个问题,如何在加载翻译时加载原始字符串?

main.cpp 文件的片段:

QtSingleApplication a(argc, argv);

QTranslator tra;
if (tra.load(":/translations/Resources/Languages/English.qm"))
{
    a.installTranslator(&tra);
}
else 
{
    qWarning() << "File not loaded"
}

我总是得到信息"File not loaded"。

这应该行得通,我自己试过了:

<RCC>
    <qresource prefix="/translations">
        <file>resources/languages/english.qm</file>
    </qresource>
</RCC>

QApplication a(argc, argv);
QTranslator tra;
if (tra.load(":translations/resources/languages/english.qm")) {
    a.installTranslator(&tra);
    qDebug() << "File loaded";
} else {
    qWarning() << "File not loaded";
}
return a.exec();

RESOURCES += \
    resources.qrc

TRANSLATIONS += resources/languages/english.ts

创建ts文件: 更新 Test.pro

创建 qm 文件: lrealease Test.pro