从Jinja2模板中,这是我追求的渲染线(英文):
This is the <a href="roadmap.html">roadmap</a>
用荷兰语翻译应该导致:
Dit is de <a href="roadmap.html">planning</a>
这条Jinja2系列让我在那里 - 几乎 -
{{ _('This is the %(roadmap)s.', roadmap='<a href="roadmap.html">roadmap</a>'|safe) }}
不幸的是,“路线图”这个词并未翻译。
Jinja2实现这一目标的方法是什么?拆分roadmap1和roadmap2中的链接?我希望有更聪明的东西。
答案 0 :(得分:1)
这些应该有效:
{{ _('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') }}"
答案 1 :(得分:0)
这是一个可以在单个可翻译字符串中为您提供所有内容的解决方案。通常,您不希望链接文本(“路线图”)成为单独的翻译项目。
通过将开始和结束标签提取到变量中来工作。这些标记必须标记为safe
,因为它们包含HTML内容,否则将被转义。
{% trans link_start='<a href="roadmap.html">'|safe, link_end='</a>'|safe %}
This is the {{ link_start }} roadmap {{ link_end }}.
{% endtrans %}