Qt多国语言的实现与切换(国际化)
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();
}
经此一用,中文到控件上乱码的问题也顺带完美解决了,享受了一次轻松多国语实现的过程。