Yerel (Locale) Desteği
Önceki Türkçe Nasıl? Sonraki
Yerel (Locale) Desteği
Programlarınızın Türkçe yerelinden haberdar olabilmesi için yapmamız gereken bir kaç işlem var. Ancak bu işlemlere geçmeden önce bir hatırlatma yapmak istiyorum. Eğer beklediğiniz etkiye ulaşmak için sisteme hangi dosyaları kopyalamanız gerektiğini bir türlü bulamıyorsanız, SBC sistemine strace uygulamasını kurmanızı şiddetle öneririm. strace çok küçük fakat inanılmaz işe yarayan bir uygulamadır. Programların hangi sistem komutlarını ve sinyallerini kullandıklarını gösterir. Peki doğru dosyayı bulmakta bize nasıl yardımcı olabilir? Hemen bir örnek verelim:
Örnek 11.1. Strace kullanımı
/ # export LANG=tr_TR
/ # date
Sat Jun  7 19:20:18 UTC 2003
/ # strace date
...
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT ¬
(No such file or directory)
...
Ekranınız binlerce satırla dolabilir, ama o satırlar arasından yukarıdaki gibi bir tanesi çok işimize yarayacak. Görüldüğü gibi date programı çalışma esnasında /usr/lib/locale/locale-archive dosyasını okumaya çalışıyor ancak bizde öyle bir dosya olmadığı için okuyamıyor. Bu örneği benzeri uygulamalar için de sıkıştığımız zaman tekrar edebiliriz.
Yukarıdaki örnekte bizde eksik olduğunu gördüğümüz dosyaya gerçekten ihtiyaç vardır. Bu dosyayı Linux sistemimizden SBC üzerine, aynı yere aktarmalıyız: /usr/lib/locale/locale-archive
locale-archive dosyasını SBC üzerine aktardıktan sonra date komutumuzun çıktısına tekrar bakalım:
/ # date
Cts Haz  7 19:26:59 UTC 2003
Gördüğünüz gibi gün ve ay isimleri Türkçe oldu.
Türkçe yerel ayarlamaları için yapmamız gereken en temel işlem, /usr/share/locale dizin yapısını SBC üzerinde oluşturmaktır. Bunun için aşağıdaki dosyaları SBC üzerine aktarmalıyız:
    /usr/share/locale/locale.alias
    /usr/share/locale/tr
    /usr/share/locale/tr/LC_MESSAGES
    /usr/share/locale/tr/LC_MESSAGES/libc6.mo
Son adım olarak karakter çevirimleri için aşağıdaki dosyalar da aynı dizinlerle SBC üzerine aktarılmalıdır:
    /usr/lib/gconv/gconv-modules
    /usr/lib/gconv/ISO8859-9.so
Dosyaların tamamı SBC üzerine aktarıldıktan sonra artık LANG değişkenimizin değerini tr_TR olarak atayabiliriz. Hemen bu işlemi yapıp yerellerin çalışıp çalışmadığını test edelim:
/ # export LANG=tr_TR
/ # ls /yokboylebirdosya
ls: /yokboylebirdosya: Böyle bir dosya ya da dizin yok
Yaptığımız ayarlar işe yarıyor, No such file or directory mesajı yerine libc6.mo içerisinden alınan Böyle bir dosya ya da dizin yok mesajı görüntülenmektedir.
Her sistem açılışında yerel ayarlarının Türkçe olması için /etc/init.d/rcS içerisine
export LANG=tr_TR
satırını ekleyebiliriz.
Önceki Üst Ana Başlık Sonraki
Türkçe Nasıl? Başlangıç Konsolda Türkçe Desteği
Bir Linux Kitaplığı Sayfası