我系统中的默认语言环境(Linux) - en_US.当我将语言环境改为俄语(LANG = ru_RU ./show_form.py)时,python字符串"hello to me"正确显示(在控制台中),其他(空格形式) - 用英语显示.(LANG = ru_RU.utf-8 ./show_form.py - 结果相同).
我究竟做错了什么?
我有简单的python代码(例如show_form.py):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pygtk, gtk, gtk.glade
import locale, gettext
APP="show_form"
DIR="locale"
locale.setlocale(locale.LC_ALL, '')
gettext.bindtextdomain(APP, DIR)
gettext.textdomain(APP)
lang = gettext.translation(APP, DIR)
_ = lang.gettext
gettext.install(APP, unicode=False, codeset='utf-8', localedir=DIR)
print _("hello to me")
wTree = gtk.glade.XML("localize.glade")
gtk.glade.bindtextdomain(APP, DIR)
window = wTree.get_widget("window1")
window.connect("delete_event", lambda wid, we: gtk.main_quit())
window.show_all()
gtk.main()
Run Code Online (Sandbox Code Playgroud)
和.mo文件的一些laguages..po文件如下:
# Russian translations for PACKAGE package.
# Copyright (C) 2012 THE …Run Code Online (Sandbox Code Playgroud)