加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

使用Jinja2和Babel,如何翻译包含HTML标签的句子?

发布时间:2020-12-14 16:36:20 所属栏目:资源 来源:网络整理
导读:假设我有一个Jinja2模板,我正在使用Flask-Babel来翻译我的项目.例如: pThe embest/em way of using the Internet isto use a href="{{ url_for('our_site') }}"our site/a./p 所以我有一个带有链接和重点的句子.假设我想翻译我的句子.显而易见的方法是使用g
假设我有一个Jinja2模板,我正在使用Flask-Babel来翻译我的项目.例如:
<p>The <em>best</em> way of using the Internet is
to use <a href="{{ url_for('our_site') }}">our site</a>.</p>

所以我有一个带有链接和重点的句子.假设我想翻译我的句子.显而易见的方法是使用gettext()或{%trans%}标记:

<p>{% trans %}The {% endtrans %} <em>{% trans %}best{% endtrans %}</em>
{% trans %}way of using the Internet is to use{% endtrans %}
<a href="{{ url_for('our_site') }}">{% trans %}our site{% endtrans %}</a>{% trans %}.{% endtrans %}</p>

显然问题是这会将句子分成多个片段,这些片段不能很好地翻译.这将导致翻译人员考虑字符串“The”,“best”,“使用互联网的方式是使用”,“我们的网站”作为所有单独的字符串,加上标点符号.当然,译者会想要重构句子,并选择分别链接和强调的词语.

那么鉴于此,解决方案是什么?如何在其中包含一个带有标签的句子,该句子翻译为一个单元?

解决方法

您可以使用gettext()和安全过滤器
{{ gettext('The <em>best</em> solution') | safe }}

http://jinja.pocoo.org/docs/2.9/templates/#list-of-builtin-filters

然后,您的翻译人员可以安排标签.

如果你想让翻译器的内容更简单,你可以添加一个自定义降价过滤器并使用在短语中添加简单格式的过滤器,请参阅此处获取示例https://gist.github.com/glombard/7554134

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读