在Qt中,所有的输入部件和文本绘制方式对Qt所支持的所有语言都提供了内置的支持。Qt在实际使用某一个语种需要使用QTranslator和Qt Linguist工具实现翻译,具体实施步骤如下:
一、创建Qt工程文件

二、编写Qt应用程序源码 (注意:所有需要翻译的文本需要使用tr(“ ”)管理)

运行结果如下图:

三、翻译
-
在工程目录.pro文件中添加语句 TRANSLATIONS += Laos.ts 对于.ts 文件的名称可以随意编写,
-
使用lupdate生成.ts文件。 通过QtCreator菜单工具-> 外部->Qt 语言家-> 更新翻译lupdate 菜单项来完成该操作。这时会在概要信息处显示如下信息:

操作成功后会在源码所在目录生成Laos.ts文件。
-
使用Qt Linguist完成翻译
在Qt安装目录下的bin目录下,会有一个linguist工具,直接运行linguist,打开上一步生成的Laos.ts文件。

源码中需要翻译的文本都会被列出来,然后依次将需要翻译的文本翻译成老挝语,翻译完后保存文件,并退出linguist。


四、使用lrelease生成.qm文件
可以通过QtCreator菜单工具->外部->Qt语言家->发布翻译lrelease菜单项来完成该操作。这时会在概要信息处显示如下信息

成功后会在源码所在目录生成Serbian.qm文件。
五、Qt工程文件使用.qm文件
进入main.cpp文件,添加头文件#include<QTranslator>,然后在QApplication a(argc, argv);代码下添加如下代码:
编译运行
运行结果:
六、lupdate更新翻译乱码
参考官方文档的说明:
If your sources contain genuine non-Latin1 strings, lupdate needs to be told about it in the .pro file by using, for example, the following line:
在工程文件.pro文件中添加:
CODECFORTR = UTF-8
