Каждый виджет подписан надписью на английском. Хочется иметь возможность переключить на русские надписи. Для этого был сделан .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()
Вопрос: что не так в программе?