转载: https://blog.csdn.net/u014597198/article/details/77981220
这个之前就写过类似的文章,但还是有些童鞋有疑问。也对,当时写的时候也没附个例子啥的。正好今天有时间,再记录一下,希望对你有所帮助。
效果图:
步骤如下:
1、创建语言文件
打开.pro文件,加入以下:
TRANSLATIONS += linguist/Language_en.ts \
linguist/Language_zh.ts
然后按照 工具->外部->Qt语言家->更新翻译,将生成翻译文件Language_en.ts、Language_zh.ts。如果没生成,手动创建linguist文件。再按照以上步骤生成翻译文件。
2、编辑和部署翻译文件,并生成qm文件
启动当前Qt版本的Linguist.exe(Qt语言家),打开你需要翻译的ts文件,然后进行编辑,主要是将源文对应的译文填写上,最后保存,发布(发布后及在对应目录上生成qm文件)。
我的语言家目录是这样的,不同版本的Qt存放语言家的目录稍有不同。
具体语言家使用效果图:
3、加载翻译文件
具体代码如下:
QTranslator translator;
bool b = false;
b = translator.load(path);
qDebug() << "tran:" << path << b;
if(b) {
qApp->installTranslator(&translator);
}
4、展现你要翻译的是哪些控件,例如我的Demo例子是:
void updateSome(){
ui->label->setText(tr("New World"));
ui->pushButton->setText(tr("sha shi di"));
ui->radioButton->setText(tr("New World"));
ui->checkBox->setText(tr("sha shi di"));
}
注意事项:
1、注意你要翻译的文件如果是QWidget下的话,记得用tr("")把你要翻译的括起来
2、注意你指定的翻译文件夹的位置,以免你打开翻译时打不开。
3、注意一定要在加载完翻译文件后,展现你这次要翻译的具体是哪些控件。
linux系统下直接在command窗口上输入linguist就可以打开了。