Qt之国际化
来源:互联网 发布:java画图api 编辑:程序博客网 时间:2024/05/16 14:22
Qt中的国际化的方法有很多,常用的有使用QTextCodec类和使用tr()函数。前者将编码名称写到代码里面,除非你使用Unicode编码,否则国际化依然是一个问题;后者就不会有这个问题,并且这也是Qt推荐的做法。因此,我们主要来说使用tr()函数的方法进行应用程序的国际化。接下来讲解一下Qt国际化实现步骤:一、创建一个QMainWindow用来测试,界面只有两个按钮,很简单!
二、在项目工程文件.pro中添加TRANSLATIONS += qtlanguage.ts,ts是我们需要创建的翻译文件,这个文件的名字是任意的,不过后缀名需要是ts!
三、然后我们打开命令提示符,进入到工程所在目录,比如我的是D:\Workpace\Qt-Workspace\qtLanguageTest,也就是pro文件所在的文件夹,然后输入命令lupdate qtlanguage.pro
注意:如果此时提示命令不存在,请注意将Qt的bin目录添加到环境变量中。此时,如果更新的数目,说明ts文件创建成功。
如果你有兴趣的话,可以用记事本打开这个ts文件,这个文件实际上是一个XML文件,结构很清晰。不过,我们要使用专业的翻译工具进行翻译。
四、使用翻译工具翻译ts文件,Qt提供了一个工具:Qt Linguist,你可以在开始菜单的Qt项下面的Tools中找到,或者在安装目录的bin中找到。用它可以打开我们的ts文件,然后进行我们的翻译工作:
打开Qt Linguist后,能够发现跳出了一个对话框(在Linux下测试的时候未发现,window中有这个功能),需要选择源语言和目标翻译语言!
完全翻译完成后保存文件,然后在文件菜单下有个“发布”。点击这个按钮,工程目录下会有一个atlanguage.qm文件,
这就是我们翻译得到的文件。Qt的qm文件实际上是二进制格式的,因此它经过了高度的优化,体积很小。
四、在mian函数中使用翻译文件atlanguage.qm:
#include <QtGui/QApplication>#include "qtlanguagetest.h"#include <QTranslator>int main(int argc, char *argv[]){ QApplication a(argc, argv); QTranslator qtTranslator; qtTranslator.load("qtlanguage.qm"); qApp->installTranslator(&qtTranslator); QtLanguageTest w; w.show(); return a.exec();}
翻译后的效果如下所示:
2 0
- Qt之国际化
- Qt之国际化
- Qt之国际化
- Qt国际化之动态语言切换
- Qt学习之路(33): 国际化(上)
- Qt学习之路(34): 国际化(下)
- Qt学习之路(33): 国际化(上)
- Qt学习之路(34): 国际化(下)
- Qt学习之路(33): 国际化(上)
- Qt学习之路(34): 国际化(下)
- Qt学习之路(33): 国际化(上)
- Qt学习之路(34): 国际化(下)
- Qt学习之路(33): 国际化(上)
- Qt学习之路(34): 国际化(下)
- Qt学习之路(33): 国际化(上)
- Qt学习之路(34): 国际化(下)
- Qt之国际化--多语言动态切换
- Qt国际化之QTranslator的使用
- 解决8080端口被占用问题
- JavaScript6里出现了哪些新语法、新特征?
- 导出的excel同一列相同内容的合并
- storybord中得所有控件不显示
- Python要点学习
- Qt之国际化
- ThinkPHP3.2.3代码笔记 - TP提供的常用(常量)
- 自己实现一个最简单的数据库
- 一款不错的html5网站模板案例代码下载,用于开发个人网站,兼容手机与PC
- 区块链的运行原理和发展
- 【深入浅出jQuery】源码浅析--整体架构
- iOS画板实现第二波
- se 集群的搭建
- iOS App支持IPv6-only Network中的坑和解决方案