总第23篇
在Qt的项目开发过程中,有时软件要翻译成多语言版本,这就涉及到国际化方面的操作。虽然Qt对这方面集成了很多工具,操作起来比较方便,本文还是总结一下国际化的方法和步骤,用以备忘和参考。
我们通常在写程序时,为了正常显示中文,一般会直接用到类QTextCodec
和tr()
函数,其实这只是一种临时的做法,方便我们快速完成程序、显示效果。当要真正发布一个程序时,最好的方式是在程序中使用英文字符串,再使用国际化工具进行翻译
。
1.软件国际化的方法
在Qt中,所有的输入部件和文本绘制方式对对所有支持的语言都提供了内置支持,Qt内置的字体引擎可以在同一时间正确而精细地绘制不同的文本。在Qt项目开发过程中,我们可以使用Qt Linguist
工具来完成应用程序的翻译工作。
在Qt中编写代码时,要对需要显示的字符串调用tr()
函数,完成代码编辑后,对这个应用程序的翻译主要分三个步骤:
- 在
CMD
中运行lupdate
工具,从源代码中提取要翻译的文本,这里会生成一个.ts
文件,此文件格式是xml
格式; - 在
Qt Linguist
中打开.ts
文件,并完成翻译工作; - 在
CMD
中运动lrelease
工具,从.ts
文件中生成一个.qm
文件,