1
我有一個運行帶有jinja2 html模板的python的App Engine應用程序。我正在使用pybabel將其國際化。當我運行命令pybabel extract -F babel.cfg -o ./locale/messages.pot ./
從模板中提取時,它會向帶有單引號的字符串添加額外的單引號,並且對使用雙引號的關鍵字使用雙引號。從html模板中提取關鍵字時,pybabel提取物會添加額外的單引號
例子: 我提取這些字符串:
index.html
<h1 class="offset2 span10 pageTitle">{{ _("appname") }}</h1>
<p>{{ _('about') }}</p>
變成
messages.pot
#: templates/index.html:57
msgid "\"appname\""
msgstr ""
#: templates/index.html:58
msgid "'about'"
msgstr ""
哪個不工作。預期(並確定了工作,如果我手動刪除不需要的字符)輸出應爲:在messages.pot pybabel提取運行後
messages.pot
#: templates/index.html:57
msgid "appname"
msgstr ""
#: templates/index.html:58
msgid "about"
msgstr ""
。
當然,當我更新並編譯並運行應用程序時,這並不起作用,但如果刪除多餘的單引號和引號,它將按預期工作。如果您不對模板文件中的關鍵字使用引號,則不起作用。
的babel.cfg文件很簡單:
[django: templates/**.*]
[python: /**.py]
encoding = utf-8
[extractors]
jinja2 = jinja2.ext:babel_extract
如何使pybabel提取物不包括額外的引號,當它從模板中提取的關鍵字有什麼建議?或者從文件中提取任何其他方法?