在某些情况下,我们使用QT开发的界面需要完成多国语言的翻译工作。QT在这方面其实已经给出了支持,本文主要讲述在使用QML编写界面的情况下如何实现多国语言的翻译。
若要实现QT多国语言翻译,必须要搞清楚两个文件: xx.ts和xx.qm文件。xx.ts是翻译的源文件,这个文件其实是一个xml文件,里面写的是源语言和对应的翻译语言。xx.qm文件是最终的发布文件,也是应用程序运行时需要加载的外部文件。下面看一下两种文件的内容:
xx.ts可以使用ultraEdit打开,注意不要转换为DOC格式....,可以看到如下:
![](https://i-blog.csdnimg.cn/blog_migrate/e1f7baae9919f037f206ae8d9910da68.png)
其中,每一对<context></context>之间为一个.qml或.cpp所包含的所有字符串。两个messag之间为一个翻译区,包含源语言文字和翻译后语言文字。<source>为源语言(此处为英语),<translation type="vanished"> 为要翻译的语言(此处为西班牙语)。若需要增加新的翻译语句,只需要在增加一对<message>xxxx</message>,最简单的方法是复制一对<message>