Flask-Babel как использовать перевод в файле шаблона Jinja
в моем приложении колбы, в main.py файл, я определил:
from flaskext.babel import gettext
....
def somefun():
return render_template('some.html', messages=messages)
в файле шаблона некоторые.HTML, я использовал:
<input type='text' name='keywords' value='{{ keywords|default('') }}' placeholder='{{ gettext('Search...') }}' />
Это дает ошибку:
<input type='text' name='keywords' value='{{ keywords|default('') }}' placeholder='{{ gettext('Search...') }}' />
UndefinedError: 'gettext' is undefined
как импортировать эту функцию для использования шаблона?
1 ответов
к сожалению, это вообще не документировано, но Flask-Babel прозрачно использует Jinja2 расширения с названием i18n. Это означает, что по умолчанию доступны следующие функции для выражений:gettext
, ngettext
и _
.
также есть возможность использовать теги шаблонов:
{% trans %}foo{% endtrans%}
{% trans num %}
There is {{ num }} object.
{% pluralize %}
There are {{ num }} objects.
{% endtrans %}
и сообщить об ошибке о недостающих документах вот и ждут патчи;)