qt翻译国际化

一、简单一个例子,比如下面代码,使用tr()来控制需要翻译的代码
void MainWindow::on_Test_clicked()
{

QString a = tr("Do a test.");
qDebug() << a;
Dialog * aa = new Dialog();
aa->show();

}
二、对tr里面的内容进行翻译和发布
1、使用lupdate命令和lrelease命令进行转化
2、使用QT Creator进行可视化操作
update.jpg
如果使用第二种办法的话还需要更改.pro文件,增加以下代码
TRANSLATIONS = zh_cn.ts
对生成的ts文件进行修改,内容是xml格式的,文本编辑器进行更改就可以,确认无误后就把translation里面的type标签去掉,然后就可以进行发布。
三、进行发布
修改main.cpp,大概结构如下,有两个需要注意的地方
int main(int argc, char *argv[])
{

QApplication a(argc, argv);

QTranslator tsor;           //创建翻译器
/*
 * 加载语言包,注意:
 * a.如果是在IDE中调试的话就要把qm文件放到Makefie的同级目录
 * b.如果是直接运行exe文件的话就要把qm文件放到exe的同级目录
 */
bool ret = tsor.load("zh_cn.qm");
qDebug() << ret;
a.installTranslator(&tsor); //安装翻译器

MainWindow w;
w.show();

return a.exec();

}

标签: qt, qt翻译, qt tr

添加新评论