軟件的國(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文件。         最后,我們就是要在程序中引用該文件,具體代碼如下:
參考資料: 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
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注