[Gelistirici] Gettext kullanan python projelerinde po syntax kontrolleri
H. İbrahim Güngör
ibrahim at pardus.org.tr
28 Şub 2011 Pzt 12:11:26 EET
On Mon, 28 Feb 2011 11:41:31 +0000
Gökçen Eraslan <gokcen at pardus.org.tr> wrote:
> Pazartesi 28 Şubat 2011 günü (saat 08:10:56) H. İbrahim Güngör şunları
> yazmıştı:
> > l10n: Revert the latest Italian translation which breaks pisi.
>
> Bu tip hataların önüne geçmek için po'ları üretirken/güncellerken xgettext'e
> "-L python" parametresinin geçilmesi lazım ki, po dosyalarında dile özgü
> bölümlere python-format flag'i eklensin. Misal:
>
> #: pisi/history.py:69
> #, python-format
> msgid "is upgraded from %s to %s."
> msgstr "stato aggiornato da % s %s con delta."
>
> "#, python-format" eklendiği zaman, "msgfmt -c" daha akıllı syntax kontrolü
> yapıyor, dolayısıyla Transifex'te yapılan çeviri kontrollerinde hataları
> yakalayabiliyoruz.
>
> Herkes kendi projesinde, poların güncellendiği betiklerde xgettext'e "-L
> python" parametresi geçiliyor mu diye bakabilir mi? Pisi'de yok örneğin.
>
> Not: Bu arada, python string formatlarında "%s" ile "% s"yi ayırt etmiyor.
> Yani yorumlayıcı açısından:
>
> print "a %s c" % "b"
>
> ile
>
> print "a % s c" % "b"
>
> arasında bir fark yok, ikisinde de "a b c" basılıyor. Kıssadan hisse.
Evet. pisi kendi içerisinde getirdiği pygettext.py ile çıkarıyor stringleri. O
da dosya uzantısından hangi dil için metin çıkardığını anlamıyor sanırım.
pygettext.py yerine xgettext kullanabiliriz bunun için.
--
H. İbrahim Güngör <ibrahim at pardus.org.tr>
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi