PyQt 国际化支持
来源:互联网 发布:服装销售英文软件 编辑:程序博客网 时间:2024/06/16 20:18
想用PyQt实现国际化,google了一下,Qt的资料倒是很多,但是PyQt的基本没有,有的也说得含糊不清了。
无奈只有翻文档,文档也只说了先用pylupdate4生成ts语言文件,然后用linguist进行翻译,最后使用rlease
生成qm工程文件,但是自己按照这个方式写起来错误百出,弄了一晚上终于整好了~~分享下~~~
1.首先写程序,这里我使用Qtdesigner设计的,然后用pyuic4命令生成代码,这步就省略了,拖拽什么的谁
不会啊。。。程序如下图:(需要说明的是,国际化的时候源程序所有东西都用English的,然后再翻译~)
可以看到这里全部都是英文的。
2.然后就是创建语言文件了,按照手册里面说的“The programmer uses pylupdate4 to create or update a
.ts translation file for each language that the application is to be translated into”,然后使用这个命令的
帮助看了下,是这样的:
很多C++的资料说,那个project-file就是pro的工程文件,但是咱们python哪来的工程文件啊!找了好半天
才明白,不一定需要工程文件的,这里面的那个project-file可以是任何你需要翻译的文件,于是乎~就使用
pylupdate4 Ui_fileasearch.py -ts zh_CN.ts解决!
后来才知道所谓的工程文件就是对一系列文件的说明,大概是如下的结构:
SOURCES = main.py\
ui_mainWindow.py\
otherFile.py\
etc
TRANSLATIONS = appName_ar.ts
CODECFORTR = UTF-8
CODECFORSRC = UTF-8
就是说如果你有一系列的文件需要国际化的话,可以手动写一个工程文件,然后他可以将所有需要翻译的东
西全部都提取出来,当然你也可以写一个简单的脚本,楼主就是这么干滴,因此方便省事儿多啦
3.接下来用Linguist打开ts文件,愉快地完成翻译工作吧,这里没有什么好说滴~
4.然后使用命令rlease zh_CN.ts得到文件zh_CN.qm这就是我们要滴咯~等等,还有一步。。。
5.前面是仅仅完成了表面上的翻译工作,咱们的程序还不知道呢。所以还需要在程序里面加一个东西,首先
from PyQt4.QtCore import QTranslator
然后,在程序里加上如下内容:
trans = QTranslator()trans.load("zh_CN")# 这里是之前生成的qm文件,注意没有后缀,程序知道app = QApplication(sys.argv)app.installTranslator(trans)# 就是这一步!
最后打开程序看看是不是翻译好了!楼主的如下:
大功告成!效果不错~~
- PyQt 国际化支持
- sublime 支持pyqt
- qt支持中文、国际化
- Websharp 8 - 国际化支持
- gSOAP的国际化支持
- 批处理文件国际化支持解决方案
- asp.net国际化支持
- Application支持国际化
- wince国际化语言支持
- Struts2 配置国际化支持
- Struts 2国际化支持
- Struts2的国际化支持
- Struts2的国际化支持
- struts的国际化支持
- struts2 的国际化支持
- struts2 的国际化支持
- QT国际化支持
- Liferay国际化支持
- aix中 mksysb 系统级备份
- 17个新手常见Python运行时错误
- C#4.0权威指南(奋斗的小鸟)_PDF 电子书
- Shell脚本调试技术
- 生成符合复杂性的随机密码
- PyQt 国际化支持
- C++编码规范
- 回调函数例子
- 文件打开关联
- java分栏显示
- 设计模式前传——面向对象基础(C#语言)
- C++错误“exit was not declared in this scope”
- QTP参数化Global和Local的区别
- 舒迅:产品经理必读的九步法