С основанным на 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 ""
Как я могу обновить свои файлы перевода, не теряя мои комментарии и старые переводы?