Pybabel错过了html文件中的标记消息

时间:2017-12-28 23:35:13

标签: python flask babel

我正在通过Miguel Grinberg的新Flask教程,并将其制作成i18n / l10n。本章的一半令人头疼。

首先,pybabel extract -F babel.cfg -k _l -o messages.pot不会运行。我得到的只是:pybabel: error: no input files or directories specified

无论如何,谷歌快速搜索说:pybabel extract -F babel.cfg -k _l -o messages.pot --input-dir=.可行。确实如此。

我看到它应该在读数中提取的所有文件。

...
extracting messages from app/routes.py
extracting messages from app/templates/404.html (extensions="jinja2.ext.autoescape,jinja2.ext.with_")
...

下载,生成语言目录。 pybabel init -i messages.pot -d app/translations -l es运行时没有错误,当我打开文件时看起来很好。当我发现我的messages.po文件比Miguel短了100行时,我开始复制/粘贴翻译。

我仔细查看了我的文件版本,发现虽然pybabel可能已经查看了我的所有文件,但它并没有从某些文件中提取任何内容。

我只能推测添加--input-dir=.可能会改变一些事情,但我无法让pybabel在没有它的情况下运行而谷歌搜索pybabel extract babel.cfg messages.pot "no input files"会返回3个结果,所有这些都提到了改变。

对于熟悉Mega教程的任何人,pybabel都不会从我的base.html_post.htmluser.html文件中提取任何内容。

1 个答案:

答案 0 :(得分:0)

我认为你的错误在于提取命令。它应该是:

pybabel extract -F babel.cfg -k _l -o messages.pot .

注意messages.pot之后的点。这是pybabel需要开始扫描文件的目录。我甚至都不知道--input-dir选项,你在哪里找到它?它没有列在extract command的pybabel文档中。