Форум сайта python.su
Я работаю под виндой. Пытаюсь сделать *.mo файл под gettext.
Все скрипты, темплейты и т.д. заточены под utf-8.
Если я создаю *.po файл в utf-8, то при компилляции с msgfmt.py он находит TypeError и SyntaxError в каждой строке.
Единственный вариант как его заставить сработать - сохранить .po обычным Notepad с ASCII.
Тогда при запросе скрипта на перевод:
t = gettext.translation('index','./locale', languages=['ru'])
_= t.ugettext
t.install()
Отредактировано (Ноя. 30, 2011 13:17:57)
Офлайн
Вроде как решилась проблема сохранением *.po в utf-8 без BOM.
Правда, теперь русский текст выдается как
\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430
\xd1\x81\xd0\xb8\xd1\x81\xd1\x82\xd0\xb5\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xbe\xd1\x88\xd0\xb8\xd0\xb1\xd0\xba\xd0\xb0
Офлайн
Здравствуйте у меня возникала аналогичная проблема решил я ее таким образом
pygettext.py при переводе русских букв в английские не понимает их и выдает .po файл с кучей непонятных символов вместо русских поэтому я скачал программу poedit у нее есть утилита xgettext.exe с ее помощью из исходного python - кода я сгенерировал .pot - файл в котором все отображалось правильно ) Рекомендую использовать xgettext.exe - если хотите я могу выслать вам исходный код и составить подробное описание процесса
Офлайн