(18条消息) QT国际化(lupdate/linguits/lrelease)生成.ts,转换成.qm方法_akjw008的专栏-CSDN博客
#include "mainwindow.h"
#include <QApplication>
#include <QTranslator>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
#ifdef Q_OS_LINUX
QApplication::setOverrideCursor(Qt::BlankCursor); //隐藏鼠标箭头
#endif
static QTranslator *translator = new QTranslator;
Q_INIT_RESOURCE(translation);
translator->load(":/resources/translation/ember_gui_zh_CN.qm");
Q_CLEANUP_RESOURCE(translation);
a.installTranslator(translator);
MainWindow w;
w.showMaximized();
return a.exec();
}
要在创建MainWindow w; 之前调用。
注意:所有需要被翻译的用tr()
注意:使用tr的 类中都需要增加宏 Q_OBJECT
注意:增加宏之后, make报错的, 需要重新编译pro文件, qmke pro文件
linux环境, 编译命令, 生成ts文件
lupdate xx.pro -ts xx.ts
生成ts文件后, 可以用QT Creator中 F->W ,(打开文件...用),打开ts文件, 填入翻译词,点击完成翻译,下一个。 最后发布生成QM文件
也可以手动编辑TS文件,后用命令生成QM文件
lrelease XX.ts -qm XX.qm