Как использовать мою собственную локаль для pyGTK?

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
Теги:
gettext
pygtk
gtk2

1 ответ

-1

Вы правильно инициализируете Python gettext, но не libintl, который используется GTK+ и друзьями. Вы можете посмотреть мой модуль elib.intl, чтобы посмотреть, как это делается.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню