Python Babel映射配置文件应放置或命名在哪里?

4 投票
3 回答
1520 浏览
提问于 2025-04-16 09:01

我现在正在尝试使用Babel生成一组不同语言的静态HTML页面,使用的是Jinja2,并且是在一个简单的脚本中进行的(不是作为网页应用的一部分)。

我现在需要提取要翻译的消息,我知道我需要修改Babel的映射配置文件,以便它能理解Jinja2模板。因为我是在命令行工具中使用,所以我想我需要自己创建这个映射文件。

不过,我在文档中找不到这个映射配置文件应该叫什么名字,以及应该放在哪里。我只知道我需要根据Jinja2的文档,把以下内容:

[jinja2: **/templates/**.html]
encoding = utf-8

放入映射文件中。有没有人做过类似的事情,或者知道这个映射配置文件应该是什么样的?谢谢!

3 个回答

0

你可以通过 -F 来指定映射配置文件的路径,这个文件是用来给 extract_messages 使用的。比如,我的映射配置文件叫 babel.cfg,它放在我项目的根目录下。在提取消息的时候,我会运行:

pybabel extract -F babel.cfg ...
2

映射文件的位置是从 setup.cfg 文件中读取的,这个文件是由 Distutils 生成的。在这个文件的 "extract_messages" 部分,你需要添加一个叫做 mapping_file 的设置,这个设置应该指向你的映射文件。

举个例子:

这段设置告诉 Babel 去包的目录里寻找名为 message-extraction.ini 的映射文件。

[extract_messages]
# some default options
# ..
mapping_file = message-extraction.ini
2

你可以用 -c <filename> 来指定配置文件的位置。

撰写回答