繁体   English   中英

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

[英]How to use my own locale for pyGTK?

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

实际上,我的问题是,我在Linux下编写代码,但我想在Windows下分发它。 为了获得Windows可执行文件,我使用cx_Freeze,我可以在文本中包含自己的gettext,并且效果很好,但是我也想包含pyGTK gettext,因为如果我不这样做,那么即使按钮上的文本仍然是英文, Windows使用不同的语言。 而且由于我不想支持所有GTK语言,所以我不想包含所有语言。

在此先感谢您,英语不好。

EDiT:由于代码段比任何代码都好:

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

您正在正确初始化Python的gettext,而不是GTK +和其朋友使用的libintl。 您可以看一下我的elib.intl模块,看看它是如何完成的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM