- 对需要翻译的文本信息全部使用tr()进行封装;并且用“英文”;(初始全是英文,方便编辑“语言文件”)
- 创建语言文件ts
在pro文件里添加:TRANSLATIONS = english.ts chinese.ts
Ts文件生成:利用qt的命令提示符窗口:运行(下同)lupdate.exe *.pro,生成*ts文件
或者,菜单栏 "工具"-> "外部" -> "Qt语言家" -> "更新翻译(lupdate)"
3、翻译语言ts文件:(虽然原文是英文,也要有英文翻译文件)
分别运行linguits.exe english.ts;linguits.exe chinese.ts
或者,用其他编辑器直接编辑;
4、发布翻译文件qm文件:
lrelease *.pro
或者,菜单栏 "工具"-> "外部" -> "Qt语言家" -> "发布翻译(lrelease)"
5、加载翻译文件,Qm文件放在执行目录
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();//w里定义QTranslator * m_trans;
a.installTranslator(w.m_trans);
return a.exec();
}
void MainWindow::on_pushButton_2_clicked()
{//中英文切换时
m_trans->load("english.qm");
ui->retranslateUi(this);//更新主窗口时需要添加此,否则只能更新子窗口
}
void MainWindow::on_pushButton_3_clicked()
{
m_trans->load("chinese.qm");
ui->retranslateUi(this);
}
6、需要更新翻译,便重复" 2 " ~ " 4 " 步骤
参考:https://blog.csdn.net/hebbely/article/details/69388763