Debian dağıtımına Türkçe desteğinin kazandırılması Redhat tabanlı dağıtımlara göre bir miktar farklılık arzetmektedir.Burada anlatılan yapılandırma Debian 3.0 (a.k.a. Woody) kararlı (stable) sürüme özel olmakla birlikte, büyük olasılıkla deneme (testing) ve kararsız (unstable) sürümler için de geçerli olacaktır. Debian'da Türkçe desteği kapsamında sunulan yöntemler (özellikle Türkçe konsol desteği) ilkesel olarak Debian 3.0 öncesi sürümlere de uygulanabilir, fakat 3.0 sürümüyle eski sürümler arasındaki farklılıklar doğru sonuç alınmasını güçleştirecektir.
Red Hat tabanlı dağıtımlarda yerel nitelikte bütün ayarlar /etc/sysconfig/i18n dosyasında (ve aynı dizindeki
diğer bazı dosyalarda) merkezileştirilmiştir. Debian'da -en azından şimdilik- böyle bir merkezileştirme yoktur. (Gelecekte LSB uyumluluğunun tam olarak sağlanması halinde buna yönelik bir değişiklik beklenebilir.) Debian'da yerel ayarlar çeşitli dosyalara dağıtılmakla beraber /etc dizini altında toplanmıştır. Bu dosyalar özetle şunlardır:
- /etc/console/boottime.kmap.gz
Klavye eşlem dosyası.
- /etc/console-tools/config
Konsol yazıtipleri ile ilgili ayarlar.
- /etc/environment
Sistem genelinde geçerli ortam değişkenleri. Yerel dil ayarları(locale) bu dosyadadır.
- /etc/locale-gen
Sistemde mevcut olan yerellerin listesi.
Debian'da konsol yazıtipleri ve klavye eşlem dosyaları `console-common' ve `console-data' dışında iki alternatif paketle geliyor: `console-tools' ve `kbd'. Bu paketler içerik ve isim itibarıyla diğer dağıtımlardakilerle aynıdır. Artık eskimiş bir paket olan kbd ile ilgilenmeyeceğiz. Kurulum sonrasında sisteminizde bulacağınız paket Important olarak sınıflanmış olan `console-tools'. Konsolda kullanılacak klavye eşlemi `console-data'nın debconf arayüzü ile belirleniyor. Yani:
# dpkg-reconfigure console-data
komutu ile istediğiniz klavyeyi seçiyorsunuz. (`kbd' paketi kurulmuş ise benzer işlem `kbdconfig' ile yürütülebilir.)
Türkçe Q klavye yerleşimi olarak "Q Layout (1)", "Q Layout (2)" ve "Alternate" şeklinde üç seçeneğiniz var. ("Alternate" Türkçe karakterleri <AltGr> tuşuyla üreten ve daha çok programcılar tarafından kullanılan bir tuşeşlemi.) Her üç yerleşim de Debian'a özgü olmayan bazı önemli problemlere sahip. `@' karakterini tuşlama olanağı bulunmadığından "Q Layout (1)" yerleşimini özellikle tavsiye etmiyoruz. Öte yandan "Q Layout (2)" yerleşiminde de piyasada bulunan olağan klavyelerdeki görünümle uyuşmayan bazı davranışlarla karşılaşacaksınız (<Delete> tuşunun kursörün solundaki karakteri silmesi gibi). Bu belgenin eklerinde verilen Türkçe konsol klavye eşlemlerinde bu sorunlar bulunmamaktadır. Eğer bugüne kadar dağıtımlardan çıkan klavye eşlem dosyalarını kullanmış ve onlara alışmış iseniz `console-data' için yukarıda verilen komutu çalıştırmakla eriştiğiniz durum konsol klavyenin yapılandırması için yeterli olacaktır. Bununla birlikte, düzeltilmiş eşlemlerin yanısıra -şimdilik- dağıtımlarla birlikte gelmeyen UTF-8 klavye eşlemlerini de içerdiğinden eklerdeki bütün klavye eşlem dosyalarının sisteme kopyalanmasını öneriyoruz:
# cp --suffix='.eski' ~/tr/trq*.kmap.gz /usr/share/keymaps/i386/qwerty
# cp --suffix='.eski' ~/tr/trf*.kmap.gz /usr/share/keymaps/i386/fgGIod
Dağıtımla gelmeyen dosyalar `console-data'nın veritabanında bulunmadığından bu eşlemleri kurmak için farklı bir yöntemi: install-keymap aracını kullanmak zorundayız. Mesela Q klavye için şöyle bir komut kullanılmalıdır:
Buraya kadar Türkçe Q klavye kurulumu anlatıldı. console-data paketinde Türkçe F klavye yerleşimleri de mevcuttur. Q klavye'lerle benzer problemler bu yerleşimlerde de bulunduğundan eklerdeki F klavye dosyalarının kullanılmasını tavsiye ederiz. Bu amaçla yukarıdaki komutu şu şekilde uygulamanız gerekecektir:
Doğru klavyeyi seçmek yetmiyor. Türkçeye özel tuşların kullanılması amacıyla bir küçük ayarı da /etc/inputrc dosyasında yapmamız gerekiyor.
/etc/inputrc dosyasına girerek aşağıdaki satırların bulunmasını sağlıyoruz:
set input-meta on
set output-meta on
set convert-meta off
set meta-flag on
| İpucu |
---|
xterm'de geçmişte yapılan tercihlerden kaynaklanan bir özellik vardır: <Home> ve <End> tuşları kabuk programda (bash) kullanılan readline kitaplığının tanımadığı semboller üretir. Bu özellik kullandığınız dağıtım üretilen sembolleri readline kitaplığına bir şekilde öğretmedikçe kusur olarak karşımıza çıkar. inputrc dosyasını değiştirirken aşağıda verilen eklemenin de yapılması <Home> ve <End> tuşlarının çalışmasını sağlayacaktır:
# xterm'de Home ve End tuslarini duzelt.
$if TERM=xterm
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif
|
Klavye eşlemini kurduktan sonra Türkçe konsol karakterlerini doğru şekilde görüntülemek için konsol yazıtiplerini ayarlıyoruz. Bu noktada `console-data'nın klavye yapılandırmasına benzer kolaylıkla konsol karakterlerini yapılandıracak bir paket aradığınızda karşınıza Optional olarak damgalanmış `fonty' paketi çıkacaktır. debconf sayesinde yapılandırmayı da `fonty' kurulurken gerçekleştireceğiz:
`fonty'nin ön yapılandırma ekranında iso9 (Turkish)'i seçiyoruz. Paket, sanal uçbirimlerde (tty1-6) farklı yazıtipleri kullanabilmenizi de sağlıyor. (Biz bütün uçbirimleri Türkçeleme yolunu tutuyoruz.)
Eğer `fonty' paketini daha önceden kurmuş iseniz bu aşamaya:
komutuyla ulaşabilirsiniz.
`fonty'nin yaptığı işlem her sanal uçbirim için /etc/console-tools/config dosyasına:
SCREEN_FONT=iso9-16
APP_CHARSET_MAP=iso09
satırlarını eklemekten ibaret.
Bu kısımda "Euro" sembolünden de söz etmek isterim. trq'da euro desteği var ve <AltGr>-<e> ile bu sembole ulaşabilirsiniz. (<AltGr>-<c> ile de "Cent" sembolü tuşlanabilir.) Fakat ISO-8859-9 karakter setiyle çalışırken ISO-8859-15'de tanımlı olan euro sembolünün doğru yazıtipiyle görüntülenmesi ISO kipinde mümkün olmayacaktır. Bu sembolü Türkçe karakterlerle birlikte kullanmak için UTF-8'den başka bir yöntem yok. Borsadaki GNU/Linux kullanıcılarına duyurulur :-)
Test:
Önce inputrc dosyasını tekrar okutmamız gerekiyor:
Her şeyi anlatıldığı gibi yapmış iseniz şu an Türkçe karakterleri doğru şekilde tuşlayabiliyor ve görebiliyor olmanız lâzım. Önemli bir kontrol olarak <
Backspace> ve <
Delete> tuşlarını da test edelim ve hatta bu test'e mümkün mertebe her türlü tuş varyasyonunu denemek suretiyle devam edelim. Tespit edilen herhangi bir problemi bana
bildirebilirsiniz.
- Yerelleştirme (locale)
Yerel dil yapılandırması için müstakil bir bölüm açmamız konunun önemini de ortaya koymaktadır. Yerel ayarı sistemin bütününde etkileri görülecek bir işlemdir. Özellikle Gtk programlarının bu ayara çok bağlı bir davranış gösterdiğini söylemek gerekiyor. Debian'da yerel dil dosyaları Standart olarak sınıflanmış olan locales paketiyle gelir. Eğer ilk kurulum sırasında bütün Standart paketleri kurmuş iseniz zaten yerel ayarı da icra edilmiş olacaktır. locales paketini kurmamış olanların önce:
# apt-get install locales
ile kurulum yapması gerekecektir. Yapılandırma iki aşamadan oluşuyor. Gerekli yerel dil dosyalarının üretilmesi, yani sistemde hazır bulundurulması ve sistem genelinde geçerli yerel ortam değişkenlerinin atanması:
# dpkg-reconfigure locales
komutunu çalıştırıyoruz. Karşımıza gelen ekranda tr_TR ISO-8859-9'i seçili hale getiriyoruz. Sonraki adımda da sistem yerelini tr_TR olarak belirliyoruz. Bu ayarlar sonrasında tr_TR'ye ait dosyalar /etc/locale.gen dosyasında listelenerek üretilecek ve /etc/environment dosyasında LANG=tr_TR ataması yapılacaktır.
Test:
Yerel dil yapılandırmasının etkin olması için oturumdan çıkıp tekrar giriyor (İpucu: <Ctrl>-<d> tuş kombinasyonu) ve şöyle bir deneme yapıyoruz:
# ls asla_varolmayan_bir_dosya_veya_dizin
Eğer aldığınız cevap:
ls: asla_varolmayan_bir_dosya_veya_dizin: Böyle bir dosya ya da dizin yok
şeklinde ise yerel dil yapılandırmanız tamamdır.
| İpucu |
---|
Uygulamaları İngilizce mesajlarla kullanmak istiyorsanız yerel değişkenlerle oynamanız gerekecektir. Buna bir örnek verecek olursak:
"Sıralamaların Türkçe yapılması güzel. Fakat mesajların İngilizce gelmesini istiyorum. Ayrıca bir geliştirici olarak Sayı ve Zaman biçeminin POSIX uyumlu olmasını da tercih ederim." denilirse /etc/environment dosyası şöyle olmalıdır:
LANG="tr_TR"
LC_MESSAGES="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
|
- UTF-8
Debian'da UTF-8 yapılandırması bu belgenin ilgili bölümlerinde anlatılanlarla aynı ilkelere dayanır. Debian'a özgü farklılıklar konsol'da UTF-8 yapılandırmasına ayrılan bu bölümde olduğu gibi ayrıca belirtilecektir. Dolayısıyla sisteminizi UTF-8 kipinde kullanmak istiyorsanız öncelikle belgenin UTF-8 ile ilgili bölümlerinin okunmasını tavsiye ediyoruz. Konu hakkında daha ayrıntılı bilgi isteyenler
"Debian-UTF8-HOWTO" belgesini de inceleyebilirler.
UTF-8 kipinde çalışma için gerekli ilk adım bu kodlamaya ait Türkçe UTF-8 yerelin kurulmasıdır. "Kararlı" sürümde yukarıda anlatılan şekilde bunu yapmak istediğinizde küçük bir sorun sizi bekliyor olacak. tr_TR.UTF-8 yerelleri `locales' paketinin debconf arayüzünde listelenmemiştir. Yani dpkg-reconfigure locales ile karşımıza çıkacak listede tr_TR.UTF-8'i göremeyeceğiz (bu hata yeni sürümlerde düzeltilmiştir). Bu durumda elle işlem yapacağız:
Önce Türkçe UTF-8 yereli /etc/locale.gen'de tanımlıyoruz. Şu satır ekleniyor:
Sonra da ilgili yereli üretiyoruz. Brute force niteliğindeki bu işlem sırasında, gözardı edilebilir bir yan etki olarak listelenmiş diğer yereller de tekrar üretilecektir:
Yerel değişkenlerini daha ayrıntılı ve Debian usulüyle ayarlamak isteyenler için `localeconf' paketinin varlığını da haber edelim. Bu paket kurulduğunda bütün yerel değişkenlerinin elle atanması yerine debconf arayüzü kullanılıyor (dpkg-reconfigure localeconf) ve istenilen yerel değişkeni de kolayca istisna haline getirilebiliyor.