1

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

事实上我的问题是,我在 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
4

1 回答 1

-1

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

于 2011-08-11T13:17:31.613 回答