PythonベースのBabelgettextユーティリティを使用して、ファイルからの更新間で、翻訳者のコメントと古い(「廃止された」)翻訳(でマークされた#~
)をファイルに保存する手法はありますか?.po
.pot
.po
廃止された翻訳がファイルに初めてあり、pybabel update
実行されると、翻訳は。でマークされ#~
ます。これは、一方ではコメントとして扱われ、翻訳者がそれを調べて変更するまで使用されないが、他方では削除されないため、翻訳者がそれを参照したり、テキストをコピーしたりできるようにするためです。それから他の翻訳に。
ただし、次にpybabel update
実行されると、すべてのコメントがファイルから完全に削除されます。これは、でマークされた翻訳#~
も削除されることを意味します。
たとえば、Babelバージョン0.9.6とJinja2バージョン2.6、および次のファイルを使用します。
./babel.ini
:
[jinja2: **/templates/**.html]
encoding = utf-8
./templates/test.html
:
<html><body>
<h1>{% trans %}My website{% endtrans %}</h1>
</body></html>
./i18n/pt_PT/LC_MESSAGES/messages.po
:
# ... header stuff generated from
# pybabel init -l pt_PT -d i18n -i i18n/messages.pot ...
# Don't forget, I want to remember something about this!
#~ msgid "My web page"
#~ msgstr "A minha página de web"
次のコマンドを実行した後:
$ pybabel extract -F babel.ini -o i18n/messages.pot .
$ pybabel update -l pt_PT -d i18n -i i18n/messages.pot
ポルトガル語のmessages.po
ファイルは古いコメントをすべて失い、次のものだけが含まれます。
./i18n/pt_PT/LC_MESSAGES/messages.po
:
# ... similar header stuff ...
#: templates/test.html:2
msgid "My web site"
msgstr ""
コメントや古い翻訳を失うことなく、翻訳ファイルを更新するにはどうすればよいですか?