Uluslararasılaştırma

3.3.4  Özel durumlar

Programların yeni sürümleriyle birlikte içerdikleri iletiler de değişmektedir. Bazı yeni iletiler eklenirken, bazıları değişmekte, bazıları ise çıkarılmaktadır. gettext sistemi .po dosyalarını güncellerken yeni eklenen iletilerin çevirilerini boş bırakmaktadır, bunlar çevirmen tarafından doldurulur.

Çıkarılan iletiler,
# msgid "/File/_Close"

# msgstr "/Dosya/Kapa_t"
biçimine gelir. Bunları dosyadan çıkarabilirsiniz.

Değişen iletiler ya da gettext sisteminin düzgün çevrildiğine karar veremediği iletiler ise fuzzy olarak işaretlenir:
#: src/main.c:70

#, fuzzy

msgid "I don't have eny easter eggs... or do I?"

msgstr "Hiç sürprizim yok... yoksa var m??"
Burda özgün iletideki 'any' kelimesi 'eny' olarak değiştirildiğinde, gettext .po dosyalarında sorun olabileceğini belirtmek için iletinin çevirisini
#, fuzzy
satırı ile işaretlemiş. Bu durumda çevirmen çeviriyi kontrol eder. Gerekirse düzeltip fuzzy bayrağını kaldırır.

C programlarında karşılaşılabilecek bir başka özel çeviri durumu ise format stringleridir. Bunlar C tarafından basılacak çıktıyı şekle sokmak için kullanılır. Bir örnek:
#: src/file.c:167

#, c-format

msgid "cannot open file %s"

msgstr "%s dosyası açılamadı"
Burdaki c-format bayrağı, gettext sistemi tarafından otomatik olarak konur ve iletinin bir format stringi olduğunu söyler. İletinin format stringine benzemesi ama olmaması durumunda no-c-format bayrağı ile de karşılaşabilirsiniz. Format stringleri içindeki %s %d gibi % ile başlayan deyimler iletinin içind o yere başka bir değerin konacağını gösterir. Örnekte programın basacağı ileti örneğin "cannot open file resim.jpg" ya da Türkçe etkin iken "resim.jpg dosyası açılamadı" olacaktır.

Bu iletilerde % ifadelerini (%s: metin, %d: tamsayı, %f: sayı, %c: karakter, vs) korumalısınız. Aksi durumda program hatalı çalışacak ya da çakılacaktır. Dil yapısından dolayı yerlerini değiştirmeniz gereken durumlarda aşağıdaki gibi kullanın:
#: src/data.c:1203

#, c-format

msgid "%d of %d files processed"

msgstr "%2$d dosyadan %1$d adet dosya işlendi"
Burada özgün iletide ikinci sırada olan toplam dosya adedini başa almak için '%' ile 'd' (ya da hangi tür değer basılıyorsa onun harfi) arasına SIRANO ve '$' koyarak iletiyi programı bozmadan değiştirmiş olduk.

Bu web sitesinde bulunan bilgi ve belgelerin, kaynak gösterilmek koşulu ile kullanılması serbesttir.
Pardus markası ve logotipi TÜBİTAK'ın tescilli markasıdır. Kullanım koşulları için Yasal Uyarı bölümünü inceleyiniz.
Pardus hakkında merak ettikleriniz için lütfen yardım sayfasına başvurun. TÜBİTAK - UEKAE, PK.74 41470, Gebze / Kocaeli.

Copyright 2007 Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü. Tüm Hakkı Saklıdır. Görüşleriniz