有一个简单的翻译代码。它运行在Ubuntu 14.04。
#include <QtGui>
#include <QApplication>
#include <QLabel>
#include <QTextCodec>
int main (int argc,char *argv[])
{
QApplication app(argc,argv);
QTranslator qtr;
qtr.load("hello.qm");
app.installTranslator(&qtr);
//QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QLabel *label=new QLabel(QObject::tr("hello"));
label->show();
retrun app.exec();
}
我按照以下步骤将问答语翻译成了Qt语言学家的中文:
TRANSLATIONS +=hell0.ts
添加到hello.pro和lupdate。
它不像普通的Qt语言学家界面。这是我的第一个问题。我该如何解决?
然后我打印你好翻译&#39;你好&#39;,但空白处没有显示任何内容。 我仍然推动完成&#39;按钮。
我使用gedit打开hello.ts并看到它已被转换为你好。
图片是
(3)我使用&#39; lrelease&#39;命令并获取hello.qm
最后,我运行上面的代码。但结果只是打印'你好'&#39;出。 它没有翻译“你好”。对你好这是我的第二个问题。
我也使用过其他方法,比如QtTextCodec :: setCodecForTr而不是Qt语言学家,但它仍然没有用。
答案 0 :(得分:0)
尝试致电retranslateUI(this)
,以便更新翻译