国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

PySide程序的國(guó)際化

2019-11-06 06:20:44
字體:
供稿:網(wǎng)友

        軟件的國(guó)際化(Internationalization)也就是讓程序支持多國(guó)語(yǔ)言,在這里我介紹一種在運(yùn)行程序前切換軟件語(yǔ)言的方法。         首先,你需要把所有軟件顯示的字符串放在self.tr("...")函數(shù)中,只有這個(gè)函數(shù)中的字符串在后面才會(huì)被提取翻譯。由于self.tr("...")默認(rèn)編碼不能正確顯示中文,這樣直接運(yùn)行程序中文會(huì)變成亂碼,所以為了正確顯示,我們?cè)?code>app = QtGui.Qapplication(sys.argv)的后面添加一句: QtCore.QTextCodec.setCodecForTr(QtCore.QTextCodec.codecForName("UTF-8"))。         然后,我們?cè)诠こ棠夸浵聞?chuàng)建一個(gè).PRo的文件,文件中填寫(根據(jù)自己的情況做對(duì)應(yīng)的修改)

SOURCES = main.py TRANSLATIONS=xxxx.ts CODECFORTR=UTF-8

其中CODECFORTR一定要有,否則.ts文件中的中文也會(huì)是亂碼。接著,執(zhí)行命令pyside-lupdate xxxx.pro,便會(huì)在同一目錄下生成.ts文件。         接著,用Qt4 Linguist打開該文件(雙擊該文件也可打開),對(duì)每個(gè)提取出來的文字進(jìn)行翻譯(圖形界面,看到就會(huì)操作)。翻譯完成后,點(diǎn)擊“文件–>發(fā)布”,就會(huì)生成一個(gè)與.ts文件同名的.qm文件。         最后,我們就是要在程序中引用該文件,具體代碼如下:

from PySide import QtCore, QtGuiapp = QtGui.QApplication(sys.argv)QtCore.QTextCodec.setCodecForTr(QtCore.QTextCodec.codecForName("UTF-8")) translator = QtCore.QTranslator()translator.load("xxxx.qm")app.installTranslator(translator)

參考資料: https://deptinfo-ensip.univ-poitiers.fr/ENS/pyside-docs/PySide/QtCore/QTextCodec.html?highlight=qtextcodec#PySide.QtCore.PySide.QtCore.QTextCodec.setCodecForTr http://wiki.qt.io/PySide_Internationalization http://bbs.csdn.net/topics/350258469 http://blog.csdn.net/liang19890820/article/details/50274409 http://blog.csdn.net/zddblog/article/details/10948675 http://www.cppblog.com/lauer3912/archive/2011/04/05/143435.aspx?opt=admin


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洛阳市| 尖扎县| 奎屯市| 东辽县| 奉节县| 日土县| 马尔康县| 剑川县| 浮山县| 洪湖市| 阳山县| 泸水县| 桂林市| 嘉峪关市| 宁明县| 富源县| 武陟县| 古交市| 木兰县| 温宿县| 英德市| 疏附县| 繁昌县| 屯门区| 葫芦岛市| 汝城县| 昭苏县| 德惠市| 灌南县| 博白县| 富源县| 黔江区| 筠连县| 丹棱县| 大足县| 桐庐县| 上林县| 惠水县| 牙克石市| 西青区| 濮阳市|