2017-12-28 16 views
0

私はMiguel Grinbergの新しいFlaskチュートリアルを通してi18n/l10nにしました。この章の半分は頭痛だった。PybabelがHTMLファイルのタグ付きメッセージを逃した

まず、pybabel extract -F babel.cfg -k _l -o messages.potは実行されません。私が得るのは:pybabel: error: no input files or directories specified

何でも、簡単なGoogle検索では、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'sよりも100行短いことに気づいたら、コピー/貼り付けを開始します。

ファイルのバージョンが近づき、pybabelがすべてのファイルを調べている可能性がありますが、一部のファイルからは何も抽出されませんでした。

--input-dir=.を追加すると変更されている可能性がありますが、私はpybabelを実行することができませんでした。グーグルpybabel extract babel.cfg messages.pot "no input files"はその変更をすべて言及して3つの結果を返します。

メガチュートリアルに詳しい人は、base.html,_post.html、またはuser.htmlというファイルからpybabelが何も抽出していないことがわかります。

答えて

0

あなたの間違いは抽出コマンドにあると思います。次のようになります。

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

messages.potの後にドットがあることに注意してください。これは、pybabelがファイルのスキャンを開始する必要があるディレクトリです。私は--input-dirオプションについても知らなかったが、どこでそれを見つけたのだろうか? extract commandのpybabelのドキュメントには記載されていません。

関連する問題