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 № 1Acontece 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.