Python tabanlı Babel gettext yardımcı programlarıyla, .pot
dosyasındaki çeviriler arasında çevirmen yorumları ve eski ("eski") çeviriler (#~
ile işaretli) .po
dosyalarındaki güncelleştirmelerde korunacak teknikler var mı?Babel'in Kullanımı: Çevirmen yorumları (ve eski çeviriler) GNU gettext PO dosyalarında nasıl korunur?
Eski bir çeviri ilk kez bir .po
dosyasında ve pybabel update
çalıştırıldığında, çeviri #~
ile işaretlenmiştir. Bu, bir yandan bir yorum olarak ele alınır ve bir çevirmen görünüp onu değiştirene kadar kullanılmaz, öte yandan kaldırılmaz, böylece bir çevirmen buna başvurabilir veya metni kopyalayabilir ondan diğer çevirilerine. Ancak, bir sonraki sefer pybabel update
çalıştırılır, tüm yorumlar kalıcı olarak dosyadan kaldırılır. Bu, #~
ile işaretlenmiş çevirilerin de kaldırıldığı anlamına gelir. Örneğin
Babel sürümü 0.9.6 ve Jinja2 sürüm 2.6 ve aşağıdaki dosyalar ile:
./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
Portekizli messages.po
dosya tüm eski yorumlar kaybeder ve yalnızca içerir:
# ... 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"
aşağıdaki komutlar çalıştırılır sonra
./i18n/pt_PT/LC_MESSAGES/messages.po
:
# ... similar header stuff ...
#: templates/test.html:2
msgid "My web site"
msgstr ""
Yorumlar ve eski çevirilerimi kaybetmeden çeviri dosyamı nasıl güncelleyebilirim?Bunun yerine durumda gettext utilities
gelen pybabel güncelleme kullanımını msgmerge kullanmanın
Kullandığınız kitaplıkları belirtebilir ve bir örnek dosya verebilir misiniz? –
@JamieCockburn Bu yardımcı olur mu? –