10

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 ""

コメントや古い翻訳を失うことなく、翻訳ファイルを更新するにはどうすればよいですか?

4

1 に答える 1