파이썬 기반의 Babel gettext 유틸리티에는 .pot
파일의 업데이트 파일 전체에 대해 .po
개의 파일에 번역기 주석과 오래된 ("구식") 번역 (#~
으로 표시)을 보존하는 기술이 있습니까?바벨 사용 : GNU gettext PO 파일에서 번역자 주석 (및 오래된 번역문)을 보호하는 방법은 무엇입니까?
사용되지 않는 번역이 .po
파일에있는 첫 번째 시간, pybabel update
실행은, 번역은 #~
로 표시되어 있습니다. 이것은 번역자가 번역본을보고 변경하기 전까지는 주석으로 취급되고 번역자가 사용하지 않을 때까지는 사용되지 않지만 번역자가이를 참조하거나 텍스트를 복사 할 수 있도록 제거되지 않습니다. 그것에서 다른 번역으로.
그러나 다음에 pybabel update
을 실행하면 모든 주석은 파일에서 영구적으로 제거됩니다. 즉, #~
으로 표시된 번역은 제거됩니다. 예를 들어
바벨 버전 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
:
$ pybabel extract -F babel.ini -o i18n/messages.pot .
$ pybabel update -l pt_PT -d i18n -i i18n/messages.pot
포르투갈 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"
하면 다음 명령이 실행 된 후
./i18n/pt_PT/LC_MESSAGES/messages.po
:
# ... similar header stuff ...
#: templates/test.html:2
msgid "My web site"
msgstr ""
번역 및 의견을 잃지 않고 번역 파일을 업데이트하려면 어떻게해야합니까?대신 귀하의 경우에는 gettext utilities
에서 pybabel 업데이트 사용 msgmerge를 사용
사용중인 라이브러리를 지정하고 예제 파일을 제공 할 수 있습니까? –
@JamieCockburn 도움이 되나요? –