Ken*_*der 9 jinja2 babel flask
假设我有一个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>
Run Code Online (Sandbox Code Playgroud)
所以我有一个带有链接和重点的句子.假设我想要翻译我的句子.显而易见的方法是使用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>
Run Code Online (Sandbox Code Playgroud)
显然问题在于,这会将句子分解成多个片段,这些片段无法很好地翻译.这将导致翻译人员考虑字符串"The","best","使用Internet的方式是使用","我们的网站"作为所有单独的字符串,加上标点符号.当然,译者会想要重构句子,并选择分别链接和强调的词语.
那么鉴于此,解决方案是什么?我如何在其中包含一个带有标签的句子,该句子翻译为一个单元?
您可以使用 gettext() 和安全过滤器
{{ gettext('The <em>best</em> solution') | safe }}
Run Code Online (Sandbox Code Playgroud)
http://jinja.pocoo.org/docs/2.9/templates/#list-of-builtin-filters
然后您的翻译人员就可以安排标签。
如果您想让翻译变得更简单,您可以添加自定义 Markdown 过滤器并使用它在短语中添加简单的格式,请参阅此处的示例https://gist.github.com/glombard/7554134
| 归档时间: |
|
| 查看次数: |
820 次 |
| 最近记录: |