Python gettext无法加载转换文件

Python gettext无法加载转换文件,python,gettext,Python,Gettext,问题: 在python中加载编译的翻译文件时,会引发异常 Traceback (most recent call last): File "xxxx.py", line 6, in <module> lang_en = gettext.translation(__appname__,LanguageDirectory,languages=['en']) File "C:\Python33\lib\gettext.py", line 410, in translati

问题:

在python中加载编译的翻译文件时,会引发异常

 Traceback (most recent call last):
  File "xxxx.py", line 6, in <module>
    lang_en = gettext.translation(__appname__,LanguageDirectory,languages=['en'])
  File "C:\Python33\lib\gettext.py", line 410, in translation
    t = _translations.setdefault(key, class_(fp))
  File "C:\Python33\lib\gettext.py", line 160, in __init__
    self._parse(fp)
  File "C:\Python33\lib\gettext.py", line 265, in _parse
    item = b_item.decode().strip()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position xxx: invalid continuation byte
回溯(最近一次呼叫最后一次):
文件“xxxx.py”,第6行,在
lang\u en=gettext.translation(\uuuuu appname\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,LanguageDirectory,languages=['en']))
翻译文件“C:\Python33\lib\gettext.py”,第410行
t=_translations.setdefault(键,类_fp))
文件“C:\Python33\lib\gettext.py”,第160行,在\uuu init中__
自我剖析(fp)
文件“C:\Python33\lib\gettext.py”,第265行,在_parse中
item=b_item.decode().strip()
UnicodeDecodeError:“utf-8”编解码器无法解码位置xxx中的字节0xe4:无效的连续字节

解决方案

库当前不解析翻译文件头中的iso-8859字符

存在该问题的示例标题(编译前):


通过此修改,pygettext不会将时区添加到标题中。相反,它将使用当前的

编码问题!耶
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2013-12-06 11:22\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE+Mitteleuropäische Zeit\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
timestamp = time.strftime('%Y-%m-%d %H:%M-%Z')
timestamp = time.strftime('%Y-%m-%d %H:%M', time.gmtime())