Uluslararasılaştırma

3.1.3  İleri Kullanım

Tek bir çeviri alanı birçok program için yeterli olsa da, bunun yetersiz kaldığı bazı durumlar var. Örneğin bir dizi program aynı hata mesajlarını kullanıyorlarsa bunlar tek bir alanda toplanabilir, böylece bir kere çevrilmeleri yeterli olur. Kitaplıklarda ise fonksiyonların çağıran programın alanından bağımsız, kendi alanlarından çeviri almaları gereklidir. Her ne kadar bu sorun textdomain () çağrıları ile çözülebilirse de, yavaş ve kullanışsız olur. Bu amaç için:
char *dgettext (const char *domain_name, const char *msgid); 
fonksiyonu yardımcı olur. Bununla farklı alanlardan ileti çevirileri alabilirsiniz.

gettext sistemi yalnızca ileti çevirilerini getirmekle kalmaz, aynı zamanda bunları saklandıkları karakter setinden, o anki yerelleştirmenin LC_CTYPE ile belirlenen etkin karakter setine de çevirir. Metinleri yerelleştirmeye bağlı kalmadan kullanabilen programlar, çevirileri UTF-8 karakter setinde isteyebilir. Bunun için,
char *bind_textdomain_charset (const char *domain_name,

        const char *codeset); 
kullanılır. Örneğin:
bind_textdomain_charset (PACKAGE, "UTF-8"); 
gettext çeviri bulamadığı durumda verilen iletiyi aynen döndürdüğü için, bunun kullanıldığı durumlarda program kodundaki metinlerin UTF-8 olarak tutulması gerektiğine dikkat edin!

Information and documents on Pardus web pages can be used freely anywhere with original source credit.
For information and suggestion(s) please write to info_at_pardus.org.tr
TÜBİTAK - UEKAE, PK.74 41470, Gebze / Kocaeli.