我正在尝试将我的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"
}

我总是得到“文件未加载”信息。

最佳答案

这应该可行,我自己尝试过:

<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文件的创建:
更新Update.pro

qm文件的创建:
脂 enzyme 测试仪

10-06 06:33