Cumartesi, Aralık 21, 2013

Yerelleştirme ve Internationalization Yapılandırması

Linux kendi içinde UTC zaman ayarını kullanır ama muhtemelen kendi bilgisayarımızda yerel saati kullanıyor oluruz. Bu ikisi arasında dönüşüm yapılması gerekir. Bu dönüşümü yapabilmek için Linux kullanıcının yerel saatini /etc/localtime (Debian ve türevlerinde düz metin formatında /etc/timezone altında ikincil bir dosya bulunur, bu dosyanın Fedora ve onun gibi dağıtımlardaki adı /etc/sysconfig/clock tur) tutar ve gerektiğinde buraya bakar. localtime dosyası düz metin formatında olmayan az sayıdaki yapılandırma dosyalarından biridir. Bilgisayarınızın kullandığı saat dilimini görmek için date komutunu kullanabilirsiniz.

$ date
Cts Ara 21 18:23:16 EET 2013


EET özel bir üç harfli zaman kodudur ve bulunduğunuz konuma göre değişir.

$ cat /etc/timezone
Europe/Istanbul


Bu dosyada gördüğünüz gibi kullandığım yerel saatin nereye göre olduğu yazıyor. Zaman dilimlerine bakmak için /usr/share/zoneinfo/Ulke/Bolge ya da Sehir şeklinde istediğiniz yeri arayabilirsiniz. Bu dosya hızlıca zaman diliminize bakmanıza izin verir.

Locale'inizi Sorgulamak ve Ayarlamak

Bilgisayarınızı yerelleştirmek için locale nedir ne değildir bilmeniz gerekir. Locale dil, ülke ve bu gibi bilgileri tutar. Bilgisayarınızda bu bilgiyi öğrenmek için locale komutunu kullanmanız yeterlidir. Kullanılabilir bütün locale değişkenlerini öğrenmek için locale -a komutunu kullanırsınız.

Locale değişkenlerinin içinde şu bilgiler bulunur:
[dil[_ülke][.kodlamastandardı][@modifier]]

Bizim ülkemiz için bu örnek olarak tr_TR.UTF-8 şeklindedir.

Kodlama standartları (codeset) ASCII, ISO-8859 ya da UTF-8 olabilir. ASCII az sayıda dili destekler. ISO-8859 ASCII'nin geliştirilmiş halidir ama diller için ayrı alt bölümler sunar. (ISO-8859-1 gibi) Bu sebeple alt bölümler istediğiniz diğer dilleri desteklemeyebilir. UTF-8 geniş bir dil desteği sunar.

Geçiçi olarak locale değişkenlerini değiştirmek için LANG ve LC_ALL çevre değişkenlerini değiştirmeniz yeterlidir. Ama bunları değiştirdiğinizde bu değişiklik sadece o oturum için ve o konsoldan açılan programlar için geçerli olacaktır ve halihazırda açık olan programları etkilemeyecektir. Bunu yapmak için .bashrc ya da /etc/profile dosyasını düzenlemeniz gerekir. X'in yapılandırma dosyası klavyenin InputDevice bölümünde XkbLayout seçeneği ile locale değişkeninizi değiştirebilmeyi sağlar ama orada hepsini küçük harfle girmeniz gerekir. (tr_TR.UTF-8 yerine tr_tr.utf-8 gibi) Bu değişikliğin geçerli olabilmesi için X'i yeniden başlatmanız gerekir.

Bazen bilgisayarınızda sistemin ürettiği bir dosyanın kodlaması dosyayı işleyecek başka bir program tarafından desteklenmeyebilir. (Kullandığınız metin editörü UTF-8 i destekleyip ISO-8859 u desteklemeyebilir.) Bu problemi aşmak için iconv komutu kullanılır.

iconv -f encoding [-t encoding] [inputfile]...

-f ve -t kaynak ve istenilen kodlama standartlarını belirtir. Eğer istenilen kodlama standartını belirtmezseniz iconv yerel ayarlarınızda bulunan seçeneği alır.

iconv -f iso-8859-1 -t UTF-8 dosya_iso.txt > dosya_utf.txt


Hiç yorum yok:

Yorum Gönder