2011-06-20 43 views
1

我正在使用pyGTK編寫軟件。 我想知道如何強制pyGTK爲GTK使用我自己的* .mo文件。如何使用我自己的語言環境pyGTK?

事實上,我的問題是,我在Linux下編碼,但我想在Windows下分發它。爲了得到一個Windows可執行文件,我使用了cx_Freeze,我可以在自己的文本中包含我自己的gettext,並且它工作的很好,但是我也想包含pyGTK gettext,因爲如果我不想那些按鈕上的文本仍然是英文的, Windows使用不同的語言。由於我不想支持所有GTK語言,我不想包含所有語言。

在此先感謝和抱歉的英文不好...

編輯: 由於代碼段是比什麼都好:

APP_NAME="MyWonderfulApp" 
LOCALE_DIR="locale" 
#Translation stuff 

local_path = os.path.realpath(os.path.dirname(sys.argv[0])) 
langs = [] 
lc, encoding = locale.getdefaultlocale() 
if (lc): 
    langs = [lc] 

language = os.environ.get('LANGUAGE', None) 
if (language): 
    langs += language.split(":") 

langs += ["fr_FR", "en_US"] 
gettext.bindtextdomain(APP_NAME, LOCALE_DIR) 
gettext.textdomain(APP_NAME) 
lang = gettext.translation(APP_NAME, LOCALE_DIR, languages=langs, fallback = True) 
_ = lang.gettex 

回答

-1

你正確初始化Python的gettext的,但不是的libintl這是由GTK +和朋友使用的 。你可以看看我的elib.intl模塊,看看如何完成 。