Qt5正在加载.qm文件

时间:2015-11-24 21:59:17

标签: c++ qt translation

我试图将我的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"
}

我总是收到信息&#34;文件未加载&#34;。

1 个答案:

答案 0 :(得分:2)

这应该有效,我自己试了一下:

<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文件: lupdate Test.pro

创建qm文件: lrealease Test.pro