Использование Столпотворения: Как защитить комментарии переводчика (и старые переводы) в GNU gettext файлы ПО?

С основанным на Python Столпотворением gettext утилиты, там любые методы для сохранения комментариев переводчика и старых ("устаревших") переводов (отмеченный с #~) в .po файлы через обновления от .pot файл?

В первый раз устаревший перевод находится в a .po файл, и pybabel update выполняется, перевод отмечен с #~. Это - то, так, чтобы, с одной стороны, это рассматривали как комментарий и не использовали, пока переводчик не просматривает его и изменяет его, все же с другой стороны, это не удалено, таким образом, переводчик может относиться к нему или скопировать текст с него в их другие переводы.

Однако в следующий раз pybabel update выполняется, все комментарии постоянно удалены из файла. Это означает те переводы, отмеченные с #~ удалены, также.

Например, с версией 2.6 версии 0.9.6 и Jinja2 Babel и следующими файлами:

./babel.ini:

[jinja2: **/templates/**.html]
encoding = utf-8

./templates/test.html:


{% trans %}My website{% endtrans %}

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

Как я могу обновить свои файлы перевода, не теряя мои комментарии и старые переводы?

10
задан Dan Getz 22 July 2014 в 20:59
поделиться