Jinja2 перевод ссылок - PullRequest
       26

Jinja2 перевод ссылок

5 голосов
/ 23 марта 2012

Из шаблона Jinja2 это отрендеренная строка, которую я ищу (на английском языке):

This is the <a href="roadmap.html">roadmap</a>

Перевод на голландский должен привести к:

Dit is de <a href="roadmap.html">planning</a>

Эта строка Jinja2меня это почти-100- *

{{ _('This is the %(roadmap)s.', roadmap='<a href="roadmap.html">roadmap</a>'|safe) }}

К сожалению, слово «дорожная карта» не переведено.

Каким будет Jinja2 способ сделать это?Разделить ссылку в дорожной карте1 и дорожной карте2?Я надеюсь на что-то более умное.

Ответы [ 2 ]

1 голос
/ 23 марта 2012

Это должно работать:

{{ _('This is the') }} <a href="roadmap.html">{{ _('roadmap') }}</a>

{{ _('This is the %(roadmap)s', roadmap=('<a href="roadmap.html">%s</a>' % _('roadmap'))|safe) }} 

Также, если вы используете webapp2, вы можете заменить href = "roadmap.html", например, href="{{ uri_for('roadmap') }}"

0 голосов
/ 27 июня 2018

Вот решение, которое даст вам все в одной переводимой строке. Обычно вы не хотите, чтобы текст ссылки («дорожная карта») был отдельным элементом перевода.

Работает, извлекая открывающий и закрывающий тег в переменные. Они должны быть помечены как safe, поскольку они содержат HTML-контент, который в противном случае был бы экранирован.

{% trans link_start='<a href="roadmap.html">'|safe, link_end='</a>'|safe %}
This is the {{ link_start }} roadmap {{ link_end }}.
{% endtrans %}
...