青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 659884
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡庫
asio 成為C++首選網(wǎng)絡庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11060)
2.?SVN中邪惡的replace(10986)
3.?VS2005編譯libevent(10431)
4.?混音算法的學習與研究(10238)
5.?C調(diào)用lua腳本的效率測試(9020)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關于Socket編程的比較(16)
wxPython中XRC文件i18n示例
wxPython中XRC文件i18n示例
(轉(zhuǎn)載請注明來源于金慶的專欄)
簡介
XRC文件是XML格式的界面定義文件,
用于在wxWidgets/wxPython中生成界面。
i18n(Internationaliztion)是指國際化,對資源進行翻譯。
wxPython中XRC文件i18n有兩種方法,
一種是使用多個XRC文件,每個語種一個XRC,
另一種是只用一個XRC文件,各個語言使用一個mo翻譯文件。
本文是按照
“
wxPython中XRC文件對 i18N的支持
”
一文的指示,演示使用mo文件對XRC文件進行國際化翻譯。
創(chuàng)建XRC
用xrced創(chuàng)建一個text.xrc。只有一個空白窗口。
窗口標題"frame1"是待翻譯字符串。
<?xml version="1.0" encoding="utf-8"?>
<resource>
<object class="wxFrame" name="FRAME1">
<title>test frame</title>
</object>
</resource>
顯示窗口
寫一個簡單的python程序test.py,裝入該窗口并顯示。
import wx
import wx.xrc as xrc
class MyApp(wx.App):
def OnInit(self):
self.res = xrc.XmlResource(r"./test.xrc")
self.frame_1 = self.res.LoadFrame(None, "FRAME1")
self.frame_1.Show()
return 1
# End of OnInit().
# End of class MyApp.
if __name__ == "__main__":
app = MyApp(0)
app.MainLoop()
運行如下:
提取并翻譯資源
先生成一個帶資源的Python代碼frame1.py,xrced可以生成python代碼,
選中gettext支持,生成的文件包含資源中的字串符。
# This file was automatically generated by pywxrc, do not edit by hand.
# -*- coding: UTF-8 -*-
import wx
import wx.xrc as xrc
__res = None
def get_resources():
""" This function provides access to the XML resources in this module."""
global __res
if __res == None:
__init_resources()
return __res
class xrcFRAME1(wx.Frame):
def PreCreate(self, pre):
""" This function is called during the class's initialization.
Override it for custom setup before the window is created usually to
set additional window styles using SetWindowStyle() and SetExtraStyle()."""
pass
def __init__(self, parent):
# Two stage creation (see http://wiki.wxpython.org/index.cgi/TwoStageCreation)
pre = wx.PreFrame()
self.PreCreate(pre)
get_resources().LoadOnFrame(pre, parent, "FRAME1")
self.PostCreate(pre)
# create attributes for the named items in this container
# ------------------------ Resource data ----------------------
def __init_resources():
global __res
__res = xrc.EmptyXmlResource()
__res.Load('test.xrc')
# ----------------------- Gettext strings ---------------------
def __gettext_strings():
# This is a dummy function that lists all the strings that are used in
# the XRC file in the _("a string") format to be recognized by GNU
# gettext utilities (specificaly the xgettext utility) and the
# mki18n.py script. For more information see:
# http://wiki.wxpython.org/index.cgi/Internationalization
def _(str): pass
_("test frame")
該生成的程序只是為了作為xgettext的輸入,
> xgettext frame1.py
輸出message.po。
編輯該po文件,指定charset并翻譯"test frame",如下:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2007-12-17 10:58+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=gb2312\n"
"Content-Transfer-Encoding: 8bit\n"
#: frame1.py:55
msgid "test frame"
msgstr "測試窗口"
然后用msgfmt,將messages.po編譯成messages.mo。
> msgfmt messages.po
創(chuàng)建.\locale\zh_CN\LC_MESSAGES\目錄,并復制messages.mo到此。
翻譯XRC
為了裝入XRC時翻譯字符串,需要指定wx.Locale,讓Locale來翻譯界面中的資源。
并在XmlResource創(chuàng)建時,指定
flags=XRC_USE_LOCALE
domain="messages"
其中flags缺省值如此,而domain必須顯示指定。
test.py更改如下:
import wx
import wx.xrc as xrc
L = wx.Locale()
class MyApp(wx.App):
def OnInit(self):
L.Init(wx.LANGUAGE_CHINESE_SIMPLIFIED)
L.AddCatalogLookupPathPrefix(r'./locale')
L.AddCatalog('messages')
self.res = xrc.XmlResource(r"./test.xrc", domain = "messages")
self.frame_1 = self.res.LoadFrame(None, "FRAME1")
self.frame_1.Show()
return 1
# End of OnInit().
# End of class MyApp.
if __name__ == "__main__":
app = MyApp(0)
app.MainLoop()
運行結(jié)果:
總結(jié)
千言萬語,不如實際做個例子。
與wxPython一樣,其它C語言編寫的第三方python模塊在i18n上并不能利用python的gettext模塊,
所以解決之道是:所有輸入都是翻譯好的,或者,該擴展模塊本身支持i18n。
http://www.shnenglu.com/Files/jinq0123/xrci18n.zip
posted on 2007-12-17 12:22
金慶
閱讀(2029)
評論(0)
編輯
收藏
引用
所屬分類:
6. Python
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關文章:
vs2017 linux 編譯輸出改成 vs 格式
xlsx批量轉(zhuǎn)為utf8的csv
如何運行 rpcz python example
Windows上Python讀取stdin出錯
建立Socket Policy服務器
python計算24點
(Python編程)Pickle對象
Boost.Python中文文檔下載
用Boost.Python構(gòu)建混合系統(tǒng)
Python封裝的性能研究
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
av成人天堂
|
欧美精品久久天天躁
|
欧美美女福利视频
|
亚洲理伦电影
|
亚洲精品一区二区三区不
|
欧美精品大片
|
亚洲欧美日韩一区二区三区在线
|
中国亚洲黄色
|
国产一区二区精品
|
欧美激情第10页
|
欧美日韩一区二区在线
|
午夜精品一区二区在线观看
|
久久九九久精品国产免费直播
|
香港久久久电影
|
在线播放精品
|
日韩一区二区精品
|
国产丝袜一区二区三区
|
欧美大片免费久久精品三p
|
亚洲天堂av电影
|
欧美亚洲三区
|
亚洲日韩成人
|
亚洲欧美日韩一区二区
|
99视频在线精品国自产拍免费观看
|
日韩视频免费
|
亚洲午夜羞羞片
|
亚洲成人在线
|
99视频一区二区三区
|
国产一本一道久久香蕉
|
亚洲福利国产
|
国产精品日韩一区二区三区
|
毛片基地黄久久久久久天堂
|
国产精品国产福利国产秒拍
|
欧美mv日韩mv国产网站
|
国产精品观看
|
欧美国产欧美综合
|
久久精品日产第一区二区
|
中日韩美女免费视频网址在线观看
|
久久成人精品
|
亚洲欧美春色
|
欧美日韩成人综合在线一区二区
|
久久久久久尹人网香蕉
|
国产精品视频免费
|
亚洲精品视频一区二区三区
|
伊人激情综合
|
欧美一区二区三区视频在线
|
亚洲制服丝袜在线
|
欧美精品一区二区三区四区
|
米奇777超碰欧美日韩亚洲
|
国产精品欧美日韩一区二区
|
日韩网站在线观看
|
日韩视频专区
|
欧美精品七区
|
亚洲福利在线看
|
亚洲激情图片小说视频
|
久久精品卡一
|
久久一区亚洲
|
国内精品美女av在线播放
|
性高湖久久久久久久久
|
欧美一级大片在线免费观看
|
欧美日韩一区二区在线观看视频
|
欧美大学生性色视频
|
亚洲激情电影在线
|
久久久久一区
|
免费观看成人www动漫视频
|
一区二区三区在线高清
|
久久久国产一区二区
|
久久久国际精品
|
影音先锋成人资源站
|
久久久久久**毛片大全
|
男男成人高潮片免费网站
|
黑丝一区二区
|
久久天天躁狠狠躁夜夜av
|
免费人成网站在线观看欧美高清
|
亚洲国产成人av在线
|
男人天堂欧美日韩
|
亚洲精品视频一区
|
亚洲字幕一区二区
|
国产一区二区三区av电影
|
久久久精品网
|
亚洲国产二区
|
亚洲主播在线播放
|
国产日韩欧美电影在线观看
|
午夜欧美不卡精品aaaaa
|
榴莲视频成人在线观看
|
亚洲黄色尤物视频
|
欧美日韩一区二区三区高清
|
中文亚洲欧美
|
久久在线免费观看视频
|
亚洲精品欧美一区二区三区
|
亚洲一区二区三区四区在线观看
|
久久国产综合精品
|
亚洲国产精品日韩
|
国产精品大全
|
欧美在线观看视频
|
亚洲欧洲一区二区三区在线观看
|
亚洲综合色噜噜狠狠
|
一区二区三区无毛
|
欧美午夜视频在线观看
|
久久久91精品国产一区二区三区
|
亚洲狠狠丁香婷婷综合久久久
|
亚洲午夜在线
|
亚洲第一天堂av
|
国产精品日韩精品欧美在线
|
久久手机精品视频
|
午夜精品国产精品大乳美女
|
亚洲第一在线综合在线
|
久久精品一区二区三区四区
|
亚洲另类视频
|
激情欧美一区
|
国产精品一区二区久激情瑜伽
|
免费在线观看成人av
|
欧美在线关看
|
亚洲午夜精品久久
|
亚洲电影免费观看高清完整版在线
|
午夜精品一区二区三区四区
|
午夜精品区一区二区三
|
亚洲成色精品
|
国产亚洲精品成人av久久ww
|
欧美另类专区
|
老司机午夜精品
|
午夜在线视频观看日韩17c
|
亚洲精品在线免费
|
欧美激情第六页
|
久久精品国产久精国产爱
|
一区二区三区久久网
|
亚洲国产婷婷香蕉久久久久久99
|
国产伦精品一区二区三
|
欧美无砖砖区免费
|
欧美喷潮久久久xxxxx
|
久久综合激情
|
久久久www成人免费毛片麻豆
|
先锋影音国产精品
|
亚洲欧美日韩一区二区三区在线
|
一区二区三区欧美在线观看
|
亚洲激情综合
|
亚洲国产精品综合
|
亚洲福利精品
|
91久久精品视频
|
亚洲激情网址
|
日韩亚洲欧美一区
|
亚洲精品日韩激情在线电影
|
亚洲欧洲视频
|
亚洲精品一品区二品区三品区
|
亚洲福利视频免费观看
|
亚洲国产专区
|
亚洲精品一区二区三区婷婷月
|
亚洲国产成人精品女人久久久
|
免费中文日韩
|
亚洲国产精品久久人人爱蜜臀
|
亚洲国产精品女人久久久
|
欧美**字幕
|
亚洲日本中文字幕
|
一区二区精品国产
|
亚洲一区二区三区精品在线
|
亚洲欧美在线一区二区
|
久久国产福利国产秒拍
|
久久精品人人做人人综合
|
男人天堂欧美日韩
|
欧美日韩一区二区三区视频
|
国产精品久久久久77777
|
国产日韩在线播放
|
在线观看国产日韩
|
99re成人精品视频
|
欧美一区二区成人
|
免费观看一区
|
亚洲综合不卡
|
老牛国产精品一区的观看方式
|
欧美ed2k
|
中国女人久久久
|
久久免费高清
|
欧美日韩综合视频网址
|
国产午夜精品麻豆
|
日韩天堂在线观看
|
久久精品视频亚洲
|
亚洲国产老妈
|
欧美一级专区
|
欧美激情一区二区三区
|
美女91精品
|
国产精品成人在线观看
|
一区在线观看
|
亚洲图片欧洲图片日韩av
|
久久精品最新地址
|
99ri日韩精品视频
|
久久综合色综合88
|
国产精品男人爽免费视频1
|
亚洲第一福利社区
|
欧美一区二区三区视频在线
|
欧美激情一区二区三区全黄
|
亚洲欧美区自拍先锋
|
欧美激情第3页
|
狠狠色综合网站久久久久久久
|
宅男噜噜噜66一区二区
|
久久综合一区二区
|
亚洲一区二区免费
|
欧美精品日本
|
亚洲国产欧美另类丝袜
|
久久精品国产清自在天天线
|
99re亚洲国产精品
|
欧美激情 亚洲a∨综合
|
黄色小说综合网站
|