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, deAlmanca, jaJaponca, ukUkraynaca, berBerber,…
- 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_USABD İngilizcesi, en_UKİngiliz İngilizcesi, fr_CAKanada (Québec) Fransızca, de_DEAlmanya de_ATAlmancası, Avusturya Almancası, ja_JPJaponca (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_CNkodlanırken, Mandarin Çince GB2312 ile kodlanır ve zh_TWTayvanlı (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 @europara 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@eurolatin9 (ISO 8859-15) kodunu ve € değerini kullanır.
Ayrıca, tüm unix benzeri sistemlerde bulunan iki yerel ad vardır: Cve 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_CTYPEkarakter 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
LANGbaşka bir ayar tarafından geçersiz kılınmadıkça ortam değişkeninin değeri kullanılır. Eğer LANGayarlanmazsa, varsayılan yerel olduğunu C.
LC_xxxİsimleri ortam değişkenleri olarak kullanılabilir.
- Eğer
LC_ALLayarlanırsa, diğer tüm değerler dikkate alınmaz; bu, LC_ALL=Cnerede ç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 ,
LANGUAGELC_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 localesiç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-geniç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_CTYPEMetin 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 iolduğu Içoğu dilde ama İTürkçe ( tr_TR).
LC_MESSAGESMesajları görmek istediğiniz dile ayarlayın .
- Set
LC_PAPERiçin en_USsize US Letter varsayılan kağıt boyutu ve başka her şey (örneğin yaklaşık olmasını istiyorsanız en_GBsize A4 istiyorsanız).
- İsteğe bağlı olarak,
LC_TIMEen sevdiğiniz saat biçimine ayarlayın.
Yukarıda açıklandığı gibi, LC_COLLATEve 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?