我想开始在我的 Python 项目中使用Babel 。setup.py
根据文档,我有以下内容:
setup(
...
message_extractors = {'my_project': [('**.py', 'lingua_python', None),
]},
...
一切正常。现在我想知道第三个参数(设置为None
)是什么意思以及我可以传入什么(只是为了了解它)。我查看了Babel 文档,但找不到任何东西,但我在 Babel 的Mako 文档中看到了这一点:
# Extraction from Python source files
[python: myproj/**.py]
# Extraction from Mako templates
[mako: myproj/templates/**.html]
input_encoding = utf-8
我想知道:这个input_encoding
选项看起来像是你可以通过那里的东西。由于我在所有 Python、我的模板等中使用 Unicode 和 UTF-8。我认为这可能是一个需要指定的有效选项(也许这是一个隐含的假设,我不知道)。
所以现在我正在寻找记录这种行为的东西,但即使是我发现的 Babel 文档的一部分也没有说明第三个参数是什么。
请通过分享一些详细解释这一点的有用链接来启发我。先感谢您。
更新:我发现最后一个参数似乎是一个dict
选项,可能传递给扩展(例如mako
)。当我将最后一个参数设置为None
抱怨消失时。因此,虽然这似乎是答案,但我仍在寻找有关此的文档。{'input_encoding': 'utf-8'}
mako.exceptions.CompileException
Unicode decode operation of encoding 'ascii' failed