使用 django,使用 jinja2 进行渲染和 babel 进行消息提取
我有一些需要国际化的 js 文件。我一直无法弄清楚从它们中提取消息的语法,这也会让 jinja2 呈现它们。jinja2 必须学习阅读可提取的语法,或者我必须从 jinja2 可以呈现的内容中提取。(或者,完全以另一种方式执行此操作)
提取
如果我在js中标记消息
gettext('message')
它提取得很好。
渲染
但是 jinja2 不会替换 js 中的 gettext 调用(我在返回之前用 jinja2 渲染 js 模板)——它需要类似的东西
{% trans %}message{% endtrans %}
但是,该语法不能用于提取消息。
Babel 使用来自 babel.messages 的函数 extract_javascript 来提取消息,这看起来并不适合处理这种类型的标签。