Есть простая форма, сделанная в glade: метка, кнопка, чекбокс.
Каждый виджет подписан надписью на английском. Хочется иметь возможность переключить на русские надписи. Для этого был сделан .mo файл с переводом всех текстов.
(ниже кусок шапки и собственно тексты):

"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 16bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: show_form.py:14
msgid "hello to me"
msgstr "привет мне"
#: localize.glade.h:1
msgid "label text"
msgstr "метка"
#: localize.glade.h:2
msgid "button text"
msgstr "кнопка"
#: localize.glade.h:3
msgid "checkbutton text"
msgstr "галочка"

Ниже содержимое 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()
Писал по куче хэлпов. При запуске как LANG=ru_RU ./show_form.py печать в питоновском файле переводится нормально, а форма как была английскими буквами, так и осталась.
Вопрос: что не так в программе?