我试图将我的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;。
答案 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