Babel无法识别Jinja2提取方法以获得语言支持 [英] Babel doesn't recognize jinja2 extraction method for language support

查看:75
本文介绍了Babel无法识别Jinja2提取方法以获得语言支持的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为项目添加语言翻译支持.该代码在Python上,并且在html文件和Javascript中包含jinja2.

I'm adding language translation support to my project. The code is on Python and has jinja2 in the html files, and Javascript.

我正在尝试使用Babel进行翻译,但它无法识别jinja2的提取方法.也许我使用的名称不正确.

I'm trying to use Babel to do the translation, but it doesn't recognize the extraction method of jinja2. Maybe I'm using an incorrect name for it.

这是我的ini文件:

# Extraction from Python source files
[python: **.py]
# Extraction from Jinja2 template files
[jinja2: **.html]
# Extraction from JavaScript files
[javascript: **.js]
extract_messages = $._, jQuery._

这是我收到的错误;

C:\>python Babel-0.9.6/babel/messages/frontend.py extract --project=GV --version=1 --no-location -o locale\messages.pot -F babel.ini frontend te
mplates
extracting messages from frontend\__init__.py
INFO:babel:extracting messages from frontend\__init__.py
...
Traceback (most recent call last):
  File "Babel-0.9.6/babel/messages/frontend.py", line 1208, in <module>
    main()
  File "Babel-0.9.6/babel/messages/frontend.py", line 1107, in main
    return CommandLineInterface().run(sys.argv)
  File "Babel-0.9.6/babel/messages/frontend.py", line 651, in run
    return getattr(self, cmdname)(args[1:])
  File "Babel-0.9.6/babel/messages/frontend.py", line 912, in extract
    for filename, lineno, message, comments in extracted:
  File "c:\Python27\lib\site-packages\babel-0.9.6-py2.7.egg\babel\messages\extract.py", line 172, in extract_from_dir
    strip_comment_tags):
  File "c:\Python27\lib\site-packages\babel-0.9.6-py2.7.egg\babel\messages\extract.py", line 202, in extract_from_file
    strip_comment_tags))
  File "c:\Python27\lib\site-packages\babel-0.9.6-py2.7.egg\babel\messages\extract.py", line 271, in extract
    raise ValueError('Unknown extraction method %r' % method)
ValueError: Unknown extraction method 'jinja2'
Press any key to continue . . .

有什么想法吗? 谢谢, 加迪

Any ideas? Thanks, Gadi

推荐答案

我看到您的问题仍未得到解答.您的问题类似于重新安装开发环境后得到的问题:

I saw that your question was still unanswered. Your problem looks similar to what I got after reinstalling my development environment:

$ pybabel extract -F babel.cfg -o messages.pot .
extracting messages from admin.py
:
extracting messages from templates/404.html (extensions="jinja2.ext.autoescape,jinja2.ext.with_")
Traceback (most recent call last):
  File "/usr/local/bin/pybabel", line 9, in <module>
    load_entry_point('Babel==0.9.6', 'console_scripts', 'pybabel')()
  File "/usr/local/lib/python2.7/dist-packages/Babel-0.9.6-py2.7.egg/babel/messages/frontend.py", line 1107, in main
    return CommandLineInterface().run(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/Babel-0.9.6-py2.7.egg/babel/messages/frontend.py", line 651, in run
    return getattr(self, cmdname)(args[1:])
  File "/usr/local/lib/python2.7/dist-packages/Babel-0.9.6-py2.7.egg/babel/messages/frontend.py", line 912, in extract
    for filename, lineno, message, comments in extracted:
  File "/usr/local/lib/python2.7/dist-packages/Babel-0.9.6-py2.7.egg/babel/messages/extract.py", line 171, in extract_from_dir
    strip_comment_tags):
  File "/usr/local/lib/python2.7/dist-packages/Babel-0.9.6-py2.7.egg/babel/messages/extract.py", line 201, in extract_from_file
    strip_comment_tags))
  File "/usr/local/lib/python2.7/dist-packages/Babel-0.9.6-py2.7.egg/babel/messages/extract.py", line 270, in extract
    raise ValueError('Unknown extraction method %r' % method)
ValueError: Unknown extraction method 'jinja2'

原来,我忘记安装 jinja2 .由于服务器环境已安装,因此我没有首先注意到它.在安装 jinja2之后,使用:

It turned out that I had forgotten to install jinja2. Since the server environment had it installed I didn't notice it first. After installing jinja2 with:

$ sudo pip install jinja2

提取将完成:

$ pybabel extract -F babel.cfg -o messages.pot .
extracting messages from admin.py
:
extracting messages from test/item_tests.py
writing PO template file to messages.pot

这篇关于Babel无法识别Jinja2提取方法以获得语言支持的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆