Qt教程-Qt Creator中定制GUI程序(国际化多语言)

作为一个设计良好的Qt程序,支持多国语言是显而易见的需求,毕竟需要照顾到的用户人群也许是不分国界的,那么如何使得程序拥有多语言则是一个很大的问题,这里我们继续使用之前的例子来演示多语言的处理。
要设计多语言,我们首先向工程中加入ts文件。
如下图所示:

也就是向pro文件加入

这里加入DISTFILES是给项目增加了其他文件的的意思,个人推荐加上这样方便点,当然也可以不加。
之后需要使用Qt Creator中的更新翻译菜单,更新翻译文件。
如下图所示:

这里注意.ts文件不要自己手工创建,如果创建了一个空文件再更新翻译,可能会收到类似这样的错误“zh_cn.ts:1:0: 文档过早的结束。”
更新完毕之后我们选择启动Qt语言家(Qt Linguist)对字符进行翻译。

启动Qt语言家后我们需要首先选择语言文件对应的是哪种语言。
如下图所示:

随后我们就能看到翻译界面,选择需要翻译的短语,然后填上相应的翻译内容最后保存即可。

这里注意的是,部分控件使用了html代码来控制格式内容,如果我们想保持和之前一致的显示风格,则需要连同html代码一起复制。这里我们为了演示效果,并没有留下html代码。
翻译完成后选择菜单的发布翻译即可,最后会生成一个qm文件。
为了让程序加载我们的翻译文件,我们需要在代码里面增加加载翻译的代码。
这里我们直接修改主函数,让程序根据系统设置的国家自动选择语言。

通过这些代码,如果系统设置为中国地区,程序在启动时会加载启动目录下的zh_cn.qm这个文件。这里需要注意的是,编译产生的可执行文件往往不在源代码目录,所以需要自行复制qm文件到可执行文件所在的目录。
最后运行效果如图

工程源代码下载地址:
https://www.exvs.org/wp-content/uploads/public/Qt_Tutorial/MainWindow_language_609C0483.7z

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.