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
satırını ekleyebiliriz.