金字塔本地化:未创建.pot文件

时间:2015-04-23 16:57:18

标签: python localization pyramid mako

我需要本地化我的金字塔应用程序,但我有一个问题。 setup.py文件包含以下message_extractors变量:

message_extractors = { '.': [
      ('templates/**.html', 'mako', None),
      ('templates/**.mako', 'mako', None),
      ('static/**', 'ignore', None)
]},

我已创建目录my_package_name/locale。在__init__.py我添加了config.add_translation_dirs('my_package_name:locale')

但是,当我跑步时 (my_virtual_env): python setup.py extract_messages

我收到消息

running extract_messages
error: no output file specified`

如果我理解正确,extract_messages在这种情况下不需要--output-file参数。

这种行为的原因是什么?

1 个答案:

答案 0 :(得分:4)

您还需要setup.cfg与setup.py在同一目录中,大致包含以下内容:

[compile_catalog]
directory = YOURPROJECT/locale
domain = YOURPROJECT
statistics = true

[extract_messages]
add_comments = TRANSLATORS:
output_file = YOURPROJECT/locale/YOURPROJECT.pot
width = 80

[init_catalog]
domain = YOURPROJECT
input_file = YOURPROJECT/locale/YOURPROJECT.pot
output_dir = YOURPROJECT/locale

[update_catalog]
domain = YOURPROJECT
input_file = YOURPROJECT/locale/YOURPROJECT.pot
output_dir = YOURPROJECT/locale
previous = true

当然,您将用项目名称替换YOURPROJECT。我认为setup.cfg文件曾经是金字塔1.5之前的项目的一部分,但现在金字塔使用lingua和gettext而不是babel,它不再需要了。如果你遵循当前的金字塔文档,你可能会更好: http://pyramid.readthedocs.org/en/latest/narr/i18n.html