我在 QtCreator 上编写了代码,将我的应用程序的 GUI 翻译成英语和西班牙语。此应用程序是用法语编写的。.ts 翻译文件已生成。我在 QtLinguist 上将字符串翻译成英文(但不是西班牙文),我用绿色箭头在字段上打勾,表明我确定翻译。但是当我通过 lrelease 生成文件 .qm 时,IDE 写道:正在更新 'C:/Users/user/Documents/ZeroClassGenerator/zeroclassgenerator_en.qm'...
生成了 3 个翻译(3 个已完成,0 个未完成)正在更新 'C:/Users/user/Documents/ZeroClassGenerator/zeroclassgenerator_es.qm'...
生成 0 个翻译(0 个已完成,0 个未完成)忽略 3 个未翻译的源文本“C:\QtSdk2\6.2.1\mingw81_64\bin\lrelease.exe”已完成但要翻译的文本尚未翻译成英文。但是,我将 .qm 文件与我的软件的可执行文件放在同一个文件夹中,并在主文件中编写了以下代码:
#include "FenPrincipale.h"
#include <QApplication>
#include <QTranslator>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTranslator translator;
translator.load("zeroclassgenerator_en");
a.installTranslator(&translator);
FenPrincipale fenetre;
fenetre.show();
return a.exec();
}
由于该代码不起作用,因此我编写了此代码。
#include "FenPrincipale.h"
#include <QApplication>
#include <QTranslator>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTranslator translator;
if( translator.load("zeroclassgenerator_en"))
a.installTranslator(&translator);
FenPrincipale fenetre;
fenetre.show();
return a.exec();
}
我不知道我哪里错了。