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