1、创建语言文件
打开.pro文件,加入以下:
TRANSLATIONS+=cn.ts
工具->外部->Qt语言家->更新翻译,将生成翻译文件cn.ts
2、编辑翻译文件
启动Linguist(Qt语言家),打开cn.ts,然后进行编辑,主要是将源文对应的译文填写上,最后保存
3、部署翻译文件
工具->外部->Qt语言家->部署翻译,将生成语言文件qm
4、加载翻译文件
QTranslator translator; bool b = false; b = translator.load("cn.qm"); a.installTranslator(&translator);
注:随时可以重复“2”~“3”步骤以便更新翻译
5、切换不同多国语言
void MainWindow::Refresh() { ui->listWidget->addItem(tr("item1")); ui->listWidget->addItem(tr("item2")); ui->listWidget->addItem(tr("item3")); } void MainWindow::on_pushButton_clicked() { QTranslator translator; bool b = false; b = translator.load("cn.qm"); qApp->installTranslator(&translator); this->Refresh(); } void MainWindow::on_pushButton_2_clicked() { QTranslator translator; bool b = false; b = translator.load("cn2.qm"); qApp->installTranslator(&translator); this->Refresh(); }
经此一用,中文到控件上乱码的问题也顺带完美解决了,享受了一次轻松多国语实现的过程。