[Gelistirici] COMAR service.py betiği içeren paketlerde küçük değişiklikler

Necmettin Begiter necmettin.begiter at gmail.com
2 Tem 2009 Per 22:13:58 EEST


2009/7/2 Gürer Özen <gurer at pardus.org.tr>:
> On Thursday 02 July 2009 18:33:30 Necmettin Begiter wrote:
>
>> 1. fail(_()) yerine değişkeni tanımlarken _({}) yapsam değişen birşey
>> oluyor mu?
>
> İlkinde fonksiyon çağrıldığında çeviri yapılırken, ikincide modül
> yüklendiğinde yapılıyor. Çağrılar ilk başta modülü yüklediği için fark
> etmemesi lazım ama Bahadır daha iyi bilecektir son durumu.

Nihayetinde işlerlik açısından farkeden birşey yok yani. Bunu bileyim
bana yeter. Çünkü bu konuda standart bir yaklaşımım olsun istiyorum.

>> 2. Diğer çevirmenleri olaya nasıl dahil edeceğiz? İlgili paket
>> çiftlikte derlenirken bu şekilde verdiğimiz katarlar .pot dosyalarına
>> girecek mi, yoksa bu _() COMAR'ın kendi içindeki bir 'sistem dilini
>> LC_ALLdan al, ona göre ilgili katarı göster' fonksiyonu mu?
>
> Bu alt çizgi fonksiyonu Çomarın kendi tanımladığı bir fonksiyon ve hangi dili
> kullanacağını çağrıyı yapan kullanıcının dbus'tan gelen locale ayarına göre
> seçiyor.
>
> Zamanında böyle bir yöntemi seçmemizin nedeni şuydu. Çomar betiklerinde bikaç
> tane çevrilecek string oluyor. Bunlardan po oluştursak, o po dosyasını mo'ya
> çevirecek ve pakete dahil edecek mekanizmayı Pisi'ye koymak gerekecekti.
> Çomarında bu mo'ları bulup yükleyecek bir mekanizmaya ihtiyacı olacaktı.
> Başka bir alternatif tüm betikleri tarayıp tek bir po/mo serisi oluşturmak ve
> ayrı bir comar-i18n.pisi olarak dağıtmak, ancak o zaman bir paket kendi
> çevirilerini taşıyamayacak. O yüzden çevirileri direk olarak betiğin içine
> koymayı tercih ettik.

Burada çevirileri doğrudan betiğe dahil etmek daha etkin bir çözüm
gibi görünüyor doğal olarak ama bu üç-beş katarın çevirisi konusu
biraz sıkıntılı bence. Paket açıklamalarının çevirileri için
kullandığımız .po dosyasına bu metinleri de dahil edebilsek çok iyi
olur aslında.

>
> 2009 için geç değilse buna daha düzgün bir çözüm olarak şu yapılabilir.
> betiklerin yanına bir adet comar-translations.xml gibi bir dosya konur (ya da
> direk translations.xml içine ayrı bir Tag ile de koyabiliriz?). Bu özgün
> mesajları ve çevirilerini içerir (paketin tüm betikleri için). Pisi bu
> dosyayı da paketler ve kurulumda Çomara verir. Çomarın alt çizgi fonksiyonu
> da eğer varsa bu dosyayı açıp ilgili çeviriyi kullanır. Çok büyük bir
> değişiklik sayılmaz. Çevirmenler paket başına bir xml editleyip kodları
> kurcalamadan işlerini yapabilirler. Tabi Bahadır ve Faik daha iyi fikir
> belirtebilirler bu konuda.

XML dosyası olmasın lütfen. İnsanları XML dosyalarıyla uğraştırmak
kadar sadist bir yaklaşım olamaz :)
Çevirileri betiğin kendisine dahil etmek, böyle sadece birkaç kısa
metin söz konusu olduğunda çok daha etkin bir yaklaşım nihayetinde.
Yukarıda söylediğimi yapabilsek gerçekten çok iyi olur.



Gelistirici mesaj listesiyle ilgili daha fazla bilgi