Qt实现多国语言的过程需要有以下几点:
- 代码中需要翻译的内容需要用
QObject::tr()函数来包住。 - UI上的字串只要让可翻译的选项被选中即可。
- 翻译时需要创建
.ts文件,该文件实际上为xml文本,可以直接打开。 - 用
Qt Linguist来打开以上的.ts文件并对需要的字串进行翻译。 - 翻译完成后需要发布成
.qm文件,该文件实际上为.ts文件的二进制样式,所占空间会小很多。 - 然后在代码里通过
QTranslator的对象来加载以上生成的.qm文件,即可显示当前语言的内容。
1. 设置需要显示的字串内容。
将需要翻译的字串内容设置在UI上或者通过tr()来在代码中设置
- UI上需要设置具体的字串内容并保持可翻译的被选中。

- 代码中的需要翻译的内容需要用
QObject::tr()来设置
ui.btn02->setText(tr("Test button 02"));
ui.lb02->setText(tr("My Label02"));
2. 生成 .ts文件
如果直接点击 Create New Translation File 可能会生成对应语言的 .ts文件,但是该文件却无法打开,且项目目录里面也没有该.ts文件。

需要在项目属性中的 Qt Transtation > Run Translation Tool During Build 处选择 lupdate 选项,保存该设置后,重新编译该项目,既可以在目录下生成对应的.ts文件。
3. 通过 Qt Linguist 来翻译 .ts文件中的字串为对应的内容
- 通过如下方式来启动
Qt Linguist
