【问题标题】:Flask-Babel fail to extract UTF-8 contentFlask-Babel 无法提取 UTF-8 内容
【发布时间】:2017-06-07 07:44:15
【问题描述】:

我的 Jinja2 模板之一中有一个可翻译的字符串:

Project can’t end sooner than it starts

(请注意“不能”中的 UTF-8 撇号。)

当我提取消息并更新我的翻译文件时,模板 (.pot) 和翻译 (.po) 文件都具有以下 msgid

msgid "Project canât end sooner than it starts"

Babel 似乎“翻译”了 UTF-8 字符,就好像它们在某种 8 位字符集中一样。

我的babel.cfg 真的很短:

[python: **.py]
[jinja2: **/templates/**.html]
extensions=jinja2.ext.autoescape,jinja2.ext.with_,webassets.ext.jinja2.AssetsExtension

有没有办法让 Babel 注意到模板已经是 UTF-8 格式,而不是从它认为的任何字符集转换它?我在pybabel extract --helppybabel extract --help 的帮助输出中看不到任何相关选项。

为了记录,我专门使用 Python3。

【问题讨论】:

    标签: python encoding python-babel flask-babel


    【解决方案1】:

    事实证明它是开箱即用的,只是似乎没有记录。我所要做的就是更改配置:

    [python: **.py]
    [jinja2: **/templates/**.html]
    encoding=utf-8
    extensions=jinja2.ext.autoescape,jinja2.ext.with_,webassets.ext.jinja2.AssetsExtension
    

    encoding=utf-8 部分发挥了作用,所有 HTML 文件现在都被视为 UTF-8 数据。

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 2013-03-08
      • 2012-10-05
      • 1970-01-01
      • 2011-04-10
      • 2010-11-10
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多