如何使用我自己的pyGTK语言环境?

时间:2011-06-20 14:32:33

标签: python pygtk gettext gtk2

我正在使用pyGTK编写软件。 我想知道如何强制pyGTK使用我自己的* .mo文件用于GTK。

实际上我的问题是,我在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 个答案:

答案 0 :(得分:-1)

您正在初始化Python的gettext,但不是正在使用的libintl 由GTK +和朋友们。您可以查看我的elib.intl模块,了解具体方法 已经完成了。