首先,进行准备翻译工作之前,有几个问题需要解决:
一、该解决方案里面所有的代码里面,确保每一个用户可见的字符串都使用了tr()或者QObject::tr()函数。
二、是否启用翻译控件里面的文字,在控件属性中,QT默认是勾选可翻译。如果不需要请把勾去掉,保存。
三、确保将该项目中的所有.h 和 .cpp文件,全部设置为带有BOM的UTF-8的字符编码。
接下来,开始翻译工作...................
1、打开该项目解决方案->添加->新建项
2、选择Qt->Qt Translation File->输入名称->最后点击添加按钮。一般需要创建2个文件,一个是_en.ts文件和_zh.ts文件,如果需要更多其它国家语言翻译,那么就创建对应国家的.ts文件。
3、举例:创建一个sitplcmitsubishi_zh.ts 文件,_zh为中文国家的后缀
4、举例:创建一个sitplcmitsubishi_en.ts 文件,_en为英文国家的后缀
5、一共创建了两个文件
6、选中其中一个ts文件,右键选择打开方式
选中Qt Linguist
点击添加按钮,弹出下面窗口
选中linguist.exe
点击打开
点击确定,此配置仅需设置一次,目的下次可以直接打开ts文件。
7、选中sitplcmitsubishi_zh.ts和sitplcmitsubishi_en.ts 文件,然后右键点击Iupdate,目的是把代码里面的需要翻译的字符串更新到.ts文件中,以便下一步进行翻译工作。
8、点击sitplcmitsubishi_zh.ts 文件,弹出如下界面
再次添加一个文件,把sitplcmitsubishi_en.ts也添加进来
9、选中上下文其中一个,选中对应字符串,如下图所示:填写一栏中文内容和英文翻译的内容,偶数行留空即可。
10、确认填写的中文和译文没有问题,将一行中的两个疑问号手动点击后,变为打勾状态即可
10、所有的中文翻译之后,如果遇到不需要翻译的字符串可以直接打勾,或者点击下面图标快速狂按确认。
11、最后点击保存全部和发布全部,即可生成对应的.qm文件
qm文件:
12、在项目中,我们去使用.qm文件,其中sitplcmitsubishi_en.qm是英文翻译文件,sitplcmitsubishi_zh.qm 是中文翻译文件,使用时,需要引入头文件#include <qtranslator.h>,下面介绍去如何使用它们。
不推荐的方式,在ui界面装载qm文件,此方式必须放在ui->setupUi(this);前面,否则无效
推荐的方式,在main入口函数去装载qm文件