國際化是指在**設計上加入能方便的移植到其他國家和地區的特性, 給pyqt 新增國際化支援需要五步
一.編寫gui.py
在要被翻譯的text上用tr方法括起來
#效果:-*- coding: utf-8 -*-
from pyqt4 import
qtcore, qtgui
class
mwindow(qtgui.qdialog):
def__init__
(self):
super(mwindow, self).
__init__
() self.resize(100, 60)
self.down1 = qtgui.qpushbutton(self.tr(u'
download
'), self)
self.down1.setgeometry(qtcore.qrect(10, 5, 90, 23))
self.down2 = qtgui.qpushbutton(self.tr(u'
upload
'), self)
self.down2.setgeometry(qtcore.qrect(10, 30, 90, 23))
if__name__ == '
__main__':
import
sys mainwin =mwindow()
mainwin.show()
二. 建立語言檔案
cmd使用命令:
pylupdate4 ui_main.py -ts zh_cn.ts會生成乙個zh_cn.ts 的語言檔案
其實.ts 檔案就是xml檔案,你也可以直接開啟xml進行修
三. 翻譯語言檔案
用qt的語言家開啟zh_cn.ts
qt語言家linguist.exe目錄:python/lib/site-packages/pyqt4/
四. 轉換為qm檔案
轉換命令:
lrelease zh_cn.tsqt lrelease.exe目錄: python/lib/site-packages/pyqt4/
也可以通過qt語言家的選單--發布
五. **中引入qm檔案
引用:
from pyqt4.qtcore import qtranslatortrans =qtranslator()
trans.load(
"zh_cn
") #
沒有字尾.qm
完整**:1#
-*- coding: utf-8 -*-
2from pyqt4 import
qtcore, qtgui
3from pyqt4.qtcore import
qtranslator
4class
mwindow(qtgui.qdialog):
5def
__init__
(self):
6 super(mwindow, self).__init__
()7 self.resize(100, 60)
8 self.down1 = qtgui.qpushbutton(self.tr(u'
download
'), self)
9 self.down1.setgeometry(qtcore.qrect(10, 5, 90, 23))
1011 self.down2 = qtgui.qpushbutton(self.tr(u'
upload
'), self)
12 self.down2.setgeometry(qtcore.qrect(10, 30, 90, 23))
1314
15if
__name__ == '
__main__':
16import
sys18 trans =qtranslator()
19 trans.load("
zh_cn
") #
沒有字尾.qm
2021 mainwin =mwindow()
22mainwin.show()
效果:
android國際化(多語言)
1.很大程度上,為什麼我們能如此方便的實現國際化 解析度匹配等?主要就是得益於 android 中這種獨特的資源管理方式。程式設計師的 可以不直接和資源發生關係。android 中,我們通常通過 r 檔案提供的索引來間接的引用某乙個資源。而如何維護資源索引和真正的資源之間的關係,這個活,卻是 and...
springboot多語言國際化
實現localresolve介面,定義messageservice bean 自定義messages服務,指定國際化配置路徑 return bean name messagesource public resourcebundlemessagesource getmessageresource co...
inno 多語言支援
languages name en messagesfile compiler default.isl licensefile c license en.txt name fr messagesfile compiler languages french.isl licensefile c lice...