Tho*_*chy 4 python jinja2 flask flask-babel python-babel
目前我正在将 Flask 和 Jinja2 与 Babel 结合使用。到目前为止一切都很顺利。
我面临的唯一问题是在翻译文本中使用链接时。假设 HTML 中有以下内容:
<p>You can change this in your <a href="{{ url_for("settings") }}">settings</a>.</p>
Run Code Online (Sandbox Code Playgroud)
我如何将它与 babel 结合使用?
我一直在考虑下面的代码,但是当翻译语言中的单词顺序不同时,这就会出现问题。
<p>{{ _("You can change this in your ")<a href="{{ url_for("settings") }}">{{ _("settings")</a>.</p>
Run Code Online (Sandbox Code Playgroud)
另一个想法是将整个 HTML 放入要翻译的字符串中,但这样我就不能再使用字符串转义了。
执行此操作的首选方法是什么?
我正在寻找解决方案,并发现了这个优秀的页面。
您可以使用 jinja2 变量可用的字符串替换来添加链接。这是一个例子:
{{ _("You can change this in your %(open)ssettings%(close)s.", open='<a href="/user/%d">' % user_id, close='</a>')|safe }}
Run Code Online (Sandbox Code Playgroud)
然后,您的 .po 文件将包含如下条目:
msgid "You can change this in your %(open)ssettings%(close)s."
msgstr ""
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |