Gettext python金字塔utf8

Gettext python金字塔utf8,python,utf-8,pyramid,gettext,Python,Utf 8,Pyramid,Gettext,我有一个项目使用gettext将英语翻译成日语。 这是我的code.py文件 导入gettext t=gettext.translation('noname','advbus/locale', languages=['ja']) _=t.gettext print _("Hello") 并且在file.po中 msgid "Hello" msgstr "今日は" 我将.po文件编译为.mop文件,但它没有正确显示今日は.(utf8) 当我运行.py文件时,它运行正常。但不正确,我的意思是它不

我有一个项目使用gettext将英语翻译成日语。 这是我的code.py文件 导入gettext

t=gettext.translation('noname','advbus/locale', languages=['ja'])
_=t.gettext
print _("Hello")
并且在file.po中

msgid "Hello"
msgstr "今日は"
我将.po文件编译为.mop文件,但它没有正确显示今日は.(utf8) 当我运行.py文件时,它运行正常。但不正确,我的意思是它不能显示unicode(今æ-¥ã?) 我尝试为file.mo文件设置utf8。但是错误

  File "C:\env\Scripts\pserve-script.py", line 8, in <module>
    load_entry_point('pyramid==1.4a1', 'console_scripts', 'pserve')()
  File "C:\env\lib\site-packages\pyramid-1.4a1-py2.7.egg\pyramid\scripts\pserve.py", line 47, in main
    return command.run()
  File "C:\env\lib\site-packages\pyramid-1.4a1-py2.7.egg\pyramid\scripts\pserve.py", line 290, in run
    relative_to=base, global_conf=vars)
  File "C:\env\lib\site-packages\pyramid-1.4a1-py2.7.egg\pyramid\scripts\pserve.py", line 318, in loadapp
    return loadapp(app_spec, name=name, relative_to=relative_to, **kw)
  File "C:\env\lib\site-packages\paste\deploy\loadwsgi.py", line 247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "C:\env\lib\site-packages\paste\deploy\loadwsgi.py", line 272, in loadobj
    return context.create()
  File "C:\env\lib\site-packages\paste\deploy\loadwsgi.py", line 710, in create
    return self.object_type.invoke(self)
  File "C:\env\lib\site-packages\paste\deploy\loadwsgi.py", line 146, in invoke
    return fix_call(context.object, context.global_conf, **context.local_conf)
  File "C:\env\lib\site-packages\paste\deploy\util.py", line 56, in fix_call
    val = callable(*args, **kw)
  File "C:\env\advbus\advbus\__init__.py", line 195, in main
    config.scan()
  File "C:\env\lib\site-packages\pyramid-1.4a1-py2.7.egg\pyramid\config\__init__.py", line 946, in scan
    ignore=ignore)
  File "C:\env\lib\site-packages\venusian-1.0a7-py2.7.egg\venusian\__init__.py", line 197, in scan
    __import__(modname)
  File "C:\env\advbus\advbus\hello.py", line 3, in <module>
    t=gettext.translation('noname','advbus/locale', languages=['ja'])
  File "C:\env\lib\gettext.py", line 478, in translation
    t = _translations.setdefault(key, class_(fp))
  File "C:\env\lib\gettext.py", line 180, in __init__
    self._parse(fp)
  File "C:\env\lib\gettext.py", line 281, in _parse
    raise IOError(0, 'Bad magic number', filename)
IOError: [Errno 0] Bad magic number: 'advbus/locale\\ja\\LC_MESSAGES\\noname.mo'

来自
gettext.py
的错误消息
Bad magic number
指向格式不正确的
.mo
文件。阅读Python的
gettext.py
,或者查看


我猜从.po到.mo的编译器工作不正常。向我们展示您的.po编译过程,也许我们可以进一步提供帮助。

来自
gettext.py
的错误消息
Bad magic number
指向格式不正确的
.mo
文件。阅读Python的
gettext.py
,或者查看

"Project-Id-Version: adv 0.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2012-12-01 11:41+0700\n"
"PO-Revision-Date: 2012-12-01 09:58+0700\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ja <LL@li.org>\n"
"Plural-Forms: nplurals=1; plural=0\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"

#: advbus/hello.py:5
msgid "Hello"
msgstr "今日は"
我猜从.po到.mo的编译器工作不正常。向我们展示您的.po编译过程,也许我们可以进一步提供帮助。

“项目Id版本:adv 0.0\n”
"Project-Id-Version: adv 0.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2012-12-01 11:41+0700\n"
"PO-Revision-Date: 2012-12-01 09:58+0700\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ja <LL@li.org>\n"
"Plural-Forms: nplurals=1; plural=0\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"

#: advbus/hello.py:5
msgid "Hello"
msgstr "今日は"
“将Msgid错误报告给:EMAIL@ADDRESS\n“ “罐创建日期:2012-12-01 11:41+0700\n” “采购订单修订日期:2012-12-01 09:58+0700\n” “最后一个转换器:全名\n” “语言团队:ja\n” “复数形式:n复数=1;复数=0\n” “MIME版本:1.0\n” “内容类型:文本/普通;字符集=utf-8\n” “内容传输编码:8位\n” “生成者:Babel 0.9.6\n” #:advbus/hello.py:5 msgid“你好” msgstr“今日は"
那是我的.po文件 还有我的.mo文件 今日㯠字符串不对 我尝试运行.py文件,它可以工作,但字符串是相同的 所以我为.mo文件设置了utf-8,字符串显示在.mo文件上。 但是当我运行.py文件时,在“项目Id版本:adv 0.0\n”上面出现了错误 “将Msgid错误报告给:EMAIL@ADDRESS\n“ “罐创建日期:2012-12-01 11:41+0700\n” “采购订单修订日期:2012-12-01 09:58+0700\n” “最后一个转换器:全名\n” “语言团队:ja\n” “复数形式:nplurals=1;复数=0\n“ “MIME版本:1.0\n” “内容类型:文本/纯文本;字符集=utf-8\n“ “内容传输编码:8位\n” “生成者:Babel 0.9.6\n” #:advbus/hello.py:5 msgid“你好” msgstr“今日は" 那是我的.po文件 还有我的.mo文件 今日㯠字符串不对 我尝试运行.py文件,它可以工作,但字符串是相同的 所以我为.mo文件设置了utf-8,字符串显示在.mo文件上。
但是当我运行.py文件时,上面出现了错误

您使用的是什么操作系统?Mac、Linux或Windows?什么执行环境?命令行终端窗口?如果这是一个浏览器,请确保在HTTP响应头中设置了正确的字符集。您使用什么过程将.po文件编译为.mo?请告诉我们,这是什么操作系统您使用的是?Mac、Linux或Windows?什么执行环境?命令行终端窗口?如果这是一个浏览器,请确保在HTTP响应头中设置了正确的字符集。您使用什么过程将.po文件编译为.mo?请给我们看一下?Delahunt先生,请帮助我!谢谢Delahunt先生,请帮助我!谢谢你如何将你的.po文件编译成.mo文件?请你完成编译过程,然后编辑你的问题,向我们展示你使用的确切命令和命令行上显示的确切输出?谢谢你的回答!首先我使用python setup.py extract_messages打开python setup.py init_catalog-l和我编辑.po file#:advbus/hello.py:6 msgid“hello”msgstr“->>#:advbus/hello.py:6 msgid“hello”msgstr”今日は“python setup.py compile\u catalog您如何将.po文件编译成.mo文件?请您完成编译过程,然后编辑您的问题,向我们展示您使用的确切命令以及命令行上显示的确切输出?谢谢您的回答!首先我使用python setup.py extract\u messages在python setup.py init\u catalog上-我和Jal编辑.po文件#:advbus/hello.py:6 msgid“hello”msgstr”“->#:advbus/hello.py:6 msgid“hello”msgstr”今日は“python setup.py编译目录