/ / Flask-Babel falha ao extrair o conteúdo utf-8 - python, codificação, babel, flask-babel

Flask-Babel falha ao extrair conteúdo utf-8 - python, codificação, babel, flask-babel

Eu tenho uma string traduzível em um dos meus modelos Jinja2:

Project can’t end sooner than it starts

(Observe o apóstrofo utf-8 em "não pode".)

Quando extraio mensagens e atualizo meus arquivos de tradução, o modelo (.pot) e tradução (.po) têm os seguintes msgid:

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

Parece que Babel "traduziu" os caracteres utf-8 como se estivessem em algum tipo de conjunto de caracteres de 8 bits.

Minhas babel.cfg é bem curto:

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

Existe uma maneira de Babel perceber que o modelo já está no utf-8 e não transaletá-lo de qualquer charset que ele pensa? Não vejo nenhuma opção relacionada na saída de ajuda de pybabel extract --help nem pybabel extract --help.

Eu uso Python3 exclusivamente, para o registro.

Respostas:

0 para resposta № 1

Acontece que ele é suportado imediatamente, apenas parece não documentado. Tudo o que eu precisava fazer era alterar a configuração:

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

o encoding=utf-8 parte fez sua mágica, todos os arquivos HTML agora são tratados como dados utf-8.