Найти - Пользователи
Полная версия: gettext, msgfmt.py и utf-8
Начало » GUI » gettext, msgfmt.py и utf-8
1
AlexNasonov
Я работаю под виндой. Пытаюсь сделать *.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()
он выдает UnicodeDecodeError: ‘utf8’ codec can't decode byte 0xcc in position 72: invalid continuation byte

Че делать?
AlexNasonov
Вроде как решилась проблема сохранением *.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
Вопрос прежний: че делать?
med_phisiker
Здравствуйте у меня возникала аналогичная проблема решил я ее таким образом
pygettext.py при переводе русских букв в английские не понимает их и выдает .po файл с кучей непонятных символов вместо русских поэтому я скачал программу poedit у нее есть утилита xgettext.exe с ее помощью из исходного python - кода я сгенерировал .pot - файл в котором все отображалось правильно ) Рекомендую использовать xgettext.exe - если хотите я могу выслать вам исходный код и составить подробное описание процесса
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB