Yerel ayarlar, kültürünüzle ilgili kullanıcı tercihleridir.
Yerel adlar
Bildiğim tüm Unix varyantlarında (ancak birkaç antikada değil), yerel ayar adları aynı kalıbı takip eder:
- Bir ISO 639-1 küçük harfli iki harfli dil kodu veya dilde iki harfli kod yoksa bir ISO 639-2 üç harfli dil kodu. Örneğin,
en
İngilizce, de
Almanca, ja
Japonca, uk
Ukraynaca, ber
Berber,…
- Tüm diller olmasa da bir çok dilde alt çizgi ve
_
ardından ISO 3166 büyük harfli iki harfli ülke kodu gelir. Bu nedenle: en_US
ABD İngilizcesi, en_UK
İngiliz İngilizcesi, fr_CA
Kanada (Québec) Fransızca, de_DE
Almanya de_AT
Almancası, Avusturya Almancası, ja_JP
Japonca (Japonya) vb. İçin
- İsteğe bağlı olarak, bir nokta
.
, bir adını ve ardından kodlayan karakteri gibi UTF-8
, ISO-8859-1
, KOI8-U
, GB2312
, Big5
(bunun ne kadar yaygın bilmiyorum), vaka ve noktalama isimleri kodlayan göz ardı edilir, en azından GNU C ile, vb. Örneğin zh_CN.UTF-8
, Mandarin Çince (basitleştirilmiş) UTF-8 ile zh_CN
kodlanırken, Mandarin Çince GB2312 ile kodlanır ve zh_TW
Tayvanlı (geleneksel) Çince Big5 ile kodlanır.
- İsteğe bağlı olarak, bir at işareti ve
@
ardından bir varyant adı. Varyantların anlamı yerel ayara bağlıdır. Örneğin, birçok Avrupa ülkesinde @euro
para birimi işaretinin € olduğu ve kodlamanın, eski para birimi işaretiyle süslenmemiş varyantın aksine, bu karakteri (ISO 8859-15 veya ISO 8859-16) içeren bir yerel ayar varyantı vardır. Örneğin, en_IE
(İngilizce, İrlanda) latin1 (ISO 8859-1) kodlamasını ve para birimi simgesi olarak £, para birimi simgesi olarak en_IE@euro
latin9 (ISO 8859-15) kodunu ve € değerini kullanır.
Ayrıca, tüm unix benzeri sistemlerde bulunan iki yerel ad vardır: C
ve POSIX
. Bu adlar eş anlamlıdır ve ortalama bilgisayarlardır, yani bir bilgisayar programı tarafından ayrıştırılan veriler için uygun olan varsayılan ayarlar.
Yerel ayarlar
Aşağıdaki yerel ayar kategorileri POSIX tarafından tanımlanır :
LC_CTYPE
: terminal uygulamaları tarafından kullanılan karakter kümesi: sınıflandırma verileri (hangi karakterler harf, noktalama işareti, boşluk, geçersiz vb.) ve büyük / küçük harf dönüştürme. Metin yardımcı programları genellikle LC_CTYPE
karakter sınırlarını belirlemeye dikkat eder.
LC_COLLATE
: harmanlama (sıralama) düzeni. Bu ayar birkaç nedenden dolayı çok sınırlıdır:
- Çoğu dilde, neyin sıralandığına bağlı olarak karmaşık kurallar bulunur (örneğin, sözlük sözcükleri ve özel adlar aynı sırayı kullanamayabilir) ve tarafından ifade edilemez
LC_COLLATE
.
- Yerel ayarları kullanan yazılımlar tarafından gerçekleştirilen uygun sıralama düzeninin önemli olduğu birkaç uygulama vardır. Örneğin, kelime işlemciler bir dosyanın dilini ve kodlamasını dosyanın kendisinde saklar (aksi takdirde dosya farklı yerel ayarlara sahip bir sistemde doğru şekilde işlenmez) ve ortam tarafından belirtilen yerel ayarlarla ilgilenmez.
LC_COLLATE
özellikle A ve Z arasında bir küçük harf olan a ile y arasındaki küçük harf harflerini içeren A <a <B <… sıralama düzenine neden olduğu için kötü yan etkileri olabilir. Özellikle, bazı uygulamaları kırmak gibi[A-Z]
çok yaygın düzenli ifadeler .
LC_MESSAGES
: bilgi ve hata mesajlarının dili.
LC_NUMERIC
: sayı biçimlendirme: ondalık ve binlerce ayırıcı.
Birçok uygulama .
ondalık ayırıcı olarak sabit kodlanır. Bu LC_NUMERIC
çok yararlı ve potansiyel olarak tehlikeli değildir:
- Ayarlasanız bile, varsayılan biçimi oldukça sık görürsünüz.
- Bir uygulamanın yerel ayara bağlı çıktı ürettiği ve başka bir uygulamanın
.
ondalık nokta veya ,
alan ayırıcı olmasını beklediği bir duruma girme olasılığınız yüksektir .
LC_MONETARY
: gibi LC_NUMERIC
, ancak yerel para birimi miktarları için.
Çok az uygulama bunu kullanıyor.
LC_TIME
: tarih ve saat biçimlendirmesi: hafta içi ve ay adları, 12 veya 24 saatlik saat, tarih bölümlerinin sırası, noktalama işaretleri vb.
Gömülü olmayan Linux'ta bulacağınız GNU libc ek yerel ayar kategorilerini tanımlar:
LC_PAPER
: varsayılan kağıt boyutu (yükseklik ve genişlik ile tanımlanmıştır).
LC_NAME
, LC_ADDRESS
, LC_TELEPHONE
, LC_MEASUREMENT
, LC_IDENTIFICATION
: Bunları kullanan tüm uygulama bilmiyorum.
Ortam Değişkenleri
Yerel ayarları kullanan uygulamalar, ortam değişkenlerinden belirler.
- Daha sonra
LANG
başka bir ayar tarafından geçersiz kılınmadıkça ortam değişkeninin değeri kullanılır. Eğer LANG
ayarlanmazsa, varsayılan yerel olduğunu C
.
LC_xxx
İsimleri ortam değişkenleri olarak kullanılabilir.
- Eğer
LC_ALL
ayarlanırsa, diğer tüm değerler dikkate alınmaz; bu, LC_ALL=C
nerede çalıştırıldıklarına bakılmaksızın aynı çıktıyı üretmesi gereken çalıştırma uygulamalarını ayarlamak için özellikle yararlıdır .
- Ek olarak, GNU libc ,
LANGUAGE
LC_MESSAGES
(örneğin LANGUAGE=fr_BE:fr_FR:en
, Belçika Fransızcası tercih etmek veya kullanılamıyorsa Fransa Fransızcası veya kullanılamıyor İngilizce ise) için geri dönüşleri tanımlamak için kullanır .
Yerel ayarları yükleme
Yerel veriler büyük olabilir, bu nedenle bazı dağıtımlar bunları kullanılabilir bir biçimde göndermez ve bunun yerine ek bir kurulum adımı gerektirir.
- Debian'da yerel ayarları yüklemek
dpkg-reconfigure locales
için, iletişim kutusundaki listeden çalıştırın ve seçin veya düzenleyip /etc/locale.gen
çalıştırın locale-gen
.
- Ubuntu'da, yerel ayarları yüklemek
locale-gen
için, bağımsız değişken olarak yerel ayarların adlarıyla çalıştırın .
Sen edebilirsiniz kendi yerel tanımlamak .
Öneri
Yararlı ayarlar:
LC_CTYPE
Metin dosyalarınızı kodladığınız dile ve kodlamaya ayarlayın . Terminallerinizin bu kodlamayı kullandığından emin olun.
Çoğu dil için yalnızca kodlama önemlidir. Bir kaç istisna var; örneğin bir büyük harf i
olduğu I
çoğu dilde ama İ
Türkçe ( tr_TR
).
LC_MESSAGES
Mesajları görmek istediğiniz dile ayarlayın .
- Set
LC_PAPER
için en_US
size US Letter varsayılan kağıt boyutu ve başka her şey (örneğin yaklaşık olmasını istiyorsanız en_GB
size A4 istiyorsanız).
- İsteğe bağlı olarak,
LC_TIME
en sevdiğiniz saat biçimine ayarlayın.
Yukarıda açıklandığı gibi, LC_COLLATE
ve ayarlarından kaçının LC_NUMERIC
. Eğer kullanırsanız LANG
, açıkça onları ayarlayarak bu iki kategori geçersiz C
.
LC_PAPER
. Ve yeniden başlatmadan sistem genelinde güncelleyebilir miyim?