6

既存の messages.pot ファイルを更新するには? たとえば、messages.pot ファイルを翻訳しました。

....
#: forms.py:11
msgid "Nickname"
msgstr "Имя"

#: forms.py:18
msgid "Wrong email"
msgstr "Неправильный пароль"
....

たとえば、新しいテキストをセレクタ gettext でマークするとします。

flash(gettext('Login successful'))

そして実行: pybabel extract -F babel.cfg -o messages.pot
新しい messages.po ファイルを受け取ります:

    ....
#: forms.py:11
msgid "Nickname"
msgstr ""

#: forms.py:18
msgid "Wrong email"
msgstr ""

#: models.py:783
msgid "Login successful"
msgstr ""
....

では、翻訳された文字列(「ニックネーム」、「間違った電子メール」)を保存して、既存の messages.pot ファイルを更新するにはどうすればよいでしょうか?

4

1 に答える 1

17

potファイルは翻訳用ではなく、特定の言語を含まない翻訳用のすべての文字列のリストです。

使用される実際の翻訳po- テキスト ファイルとmo- 翻訳を含むバイナリ ファイル。このファイルは、必要な言語用に作成されます。私のファイル構造を見てください:

translations/
translations/ru/
translations/ru/LC_MESSAGES/
translations/ru/LC_MESSAGES/messages.mo
translations/ru/LC_MESSAGES/messages.po
translations/messages.pot

翻訳するすべての文字列を取得するには:

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

ファイルを初期化するにpoは (初回):

pybabel init -i messages.pot -d . -l ru

po既存のファイルを更新するには:

pybabel update -i messages.pot -d .

poファイルを にコンパイルするにはmo:

pybabel compile -f -d .

詳しくはドキュメントを参照してください。

于 2013-09-16T10:01:34.617 に答える