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

Gürer Özen gurer at pardus.org.tr
2 Tem 2009 Per 21:21:34 EEST


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.

> 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.

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.



Gelistirici mesaj listesiyle ilgili daha fazla bilgi