Locale (Türkçe)

İlgili makaleler
Environment variables
Localization
Çeviri Durumu:
Bu makale,
Locale
makalesinin çevirisidir. Son çeviri tarihi (yıl-ay-gün şeklinde): 2024-11-18. Eğer makalenin İngilizce sürümünde
değişiklik
yapılmış ise çevirinin senkronize edilmesine yardımcı olabilirsiniz. Çevrilmiş tüm makelelere
buradan erişebilirsiniz
.
Yerel ayarlar
,
glibc
paketi tarafından kullanılır ve diğer yerel ayarlara duyarlı programlar veya kütüphaneler tarafından metin renderlama, bölgesel para birimi değerlerinin doğru şekilde görüntülenmesi, tarih ve saat formatları, alfabetik özellikler ve diğer yerel spesifik standartlar için kullanılır.
Yerel ayar oluşturma
Yerel adlar genellikle şu şekilde olur:
dil[_bölge][.karakterseti][@eklenti]
, burada
dil
bir
ISO 639 dil kodu
( örneğin,  İngilizce için "en" ve Türkçe için "tr" ),
bölge
bir
ISO 3166 ülke kodu
( örneğin, Amerika Birleşik Devletleri için "US" ve Türkiye için "TR" ),
karakterseti
ise
Karakter seti
yani
ISO-8859-1
veya
UTF-8
gibi, karakter kodlamasını belirtir. Daha fazlası için
setlocale(3)
.
Etkin yerel ayarların bir listesini almak için şunu çalıştırın:
$ locale --all-locales
Bir yerel ayarın sistemde etkinleştirilebilmesi için önce oluşturulması gerekir.Bu,
/etc/locale.gen
dosyasındaki ilgili girdilerin yorumu kaldırıldıktan sonra
locale-gen
çalıştırılarak gerçekleştirilebilir. Aynı zamanda, istenmeyen girdilere yorum ekleyerek devre dışı bırakabilirsiniz. Bunu yaparken diğer kullanıcılar ve  belirli bazı
#Değişkenler
.
Örneğin Türkçe için ,
tr_TR.UTF-8 UTF-8
girdisini yorumdan çıkaralım.( Ve genellikle çeşitli araçlar için yedek olarak kullanılan
en_US.UTF-8 UTF-8
satırınıda.):
/etc/locale.gen
...
#tr_CY ISO-8859-9  
tr_TR.UTF-8 UTF-8  
#tr_TR ISO-8859-9  
...
#en_SG ISO-8859-1
en_US.UTF-8 UTF-8
#en_US ISO-8859-1
...
Dosyayı kaydedin ve aşağıdaki komudu çalıştırarak yerel ayarı oluşturun:
# locale-gen
Not
locale-gen
ayrıca
glibc
her güncellendiğinde de çalıştırılır.
[1]
UTF-8
diğer karakter setlerine göre daha çok önerilir.
[2]
Yerel ayar ayarlama
Geçerli yerel ayarı ve ilgili ortam değişkenlerini görüntülemek için şunu yazın:
$ locale
Kullanılacak yerel ayar, önceden oluşturulmuş olanlar arasından seçilir ve
locale.conf
dosyasında ayarlanır. Bu dosyaların her biri,
locale
komutunun çıktısı ile aynı formatta ve
ortam değişkenlerinin
atamalarının satırlarla ayrılmış bir listesini içermelidir.
Daha önce oluşturulmuş olan mevcut yerel ayarları listelemek için şunu çalıştırın:
$ localedef --list-archive
Alternatif olarak,
localectl(1)
kullanılabilir:
$ localectl list-locales
Sistem yerel ayarını yapılandırma
Sistem yerel ayarını yapılandırmak için,
LANG
değişkenini
/etc/locale.conf
dosyasına yazın, burada kullandığımız
en_US.UTF-8
,
/etc/locale.gen
dosyasındaki yorumdan çıkarılmış  girdilerin ilk sütunudur :
/etc/locale.conf
LANG=
en_US.UTF-8
Alternatif olarak, çalıştırabiliriz :
# localectl set-locale LANG=
en_US.UTF-8
Detayları görmek için
#Değişkenler
ve
locale.conf(5)
.
Kullanıcı oturumu başına sistem yerel ayarını geçersiz kılma
Sistem genelindeki yerel ayar,
$XDG_CONFIG_HOME/locale.conf
(genellikle
~/.config/locale.conf
) dosyası oluşturularak veya düzenlenerek her bir kullanıcı için ayrı ayrı geçersiz kılınabilir.
Öncelikli
locale.conf
dosyası
/etc/profile.d/locale.sh
içinde tanımlıdır .
İpucu
Bu, kullanıcı ortamında yerel dili kullanırken günlükleri
/var/log/
içinde İngilizce olarak tutmanıza da olanak tanıyabilir.
Bir
/etc/skel/.config/locale.conf
dosyası oluşturabilirsiniz, böylece
useradd
ve
-m
seçeneği kullanılarak eklenen tüm yeni kullanıcılar
~/.config/locale.conf
dosyasını otomatik olarak oluşturacaktır. Daha fazlasını öğrenmek için
Users and groups#Changing user defaults
.
Yerel ayar değişikliklerini mevcut oturumda kullanma/uygulama
Sistem ve kullanıcı
locale.conf
dosyaları oluşturulduktan veya düzenlendikten sonra yapılan değişikliklerin çalışabilmesi için tekrardan oturum açılması gerekir. Mevcut ortamın yeni ayarları kullanmasını sağlamak için
LANG
ayarını kaldırın ve
/etc/profile.d/locale.sh
kaynağını kullanın:
$ unset LANG
$ source /etc/profile.d/locale.sh
Not
Önce
LANG
değişkeninin ayarı kaldırılmalıdır, aksi takdirde
locale.sh
locale.conf
'daki değerleri güncellemeyecektir. Sadece yeni ve değiştirilen değişkenler yeni oturumda güncellenir;
locale.conf
dosyasından kaldırılan değişkenler oturumda ayarlanmaya devam eder.
Diğer kullanımlar
Yerel değişkenler
Ortam değişkenleri
bölümünde açıklandığı gibi standart yöntemlerle de tanımlanabilir.
Örneğin, geliştirme sırasında belirli bir uygulamayı test etmek veya hata ayıklamak için, uygulama aşağıdaki gibi bir şeyle başlatılabilir:
$ LANG=C ./my_application.sh
Benzer şekilde, geçerli kabuktan çalıştırılan tüm işlemler için yerel ayarı ayarlamak için (örneğin, sistem kurulumu sırasında):
$ export LANG=C
Değişkenler
locale.conf
dosyaları aşağıdaki ortam değişkenlerini destekler.
LANG
LANGUAGE
LC_ADDRESS
LC_COLLATE
LC_CTYPE
LC_IDENTIFICATION
LC_MEASUREMENT
LC_MESSAGES
LC_MONETARY
LC_NAME
LC_NUMERIC
LC_PAPER
LC_TELEPHONE
LC_TIME
Yukarıdaki
LC_*
değişkenlerinin tam anlamı
locale(7)
sayfasında bulunabilirken, tanımlarının ayrıntıları
locale(5)
sayfasında açıklanmıştır.
Note
Programlar, yerel ayarlara bağlı değerleri ararken
öncelik sırasını
takip eder.
LANG: varsayılan yerel ayar
Bu değişken için ayarlanan yerel ayar, ayarlanmamış tüm
LC_*
değişkenleri için kullanılacaktır.
İpucu
İspanya'da bir İngiliz kullanıcı olduğunuzu ve programlarınızın sayıları ve tarihleri İspanyol geleneklerine göre işlemesini ve yalnızca mesajların İngilizce olmasını istediğinizi varsayalım. O zaman
LANG
değişkenini
es_ES.UTF-8
ve
LC_MESSAGES
(mesaj çevirisi için kullanıcı arayüzü) değişkenini
en_US.UTF-8
olarak ayarlayabilirsiniz.
LANGUAGE: yedek yerel ayarlar
Çeviriler için
gettext
kullanan programlar, normal değişkenlere ek olarak
LANGUAGE
seçeneğinide dikkate alır. Bu, kullanıcıların belirli bir sırayla kullanılacak yerel ayar
listesi
belirtmelerine olanak tanır. Tercih edilen yerel ayar için bir çeviri mevcut değilse, varsayılan yerine benzer bir yerel ayarın başka bir çevirisi kullanılacaktır. Örneğin, Avustralyalı bir kullanıcı ABD yazımı yerine İngiliz yazımına geri dönmek isteyebilir:
locale.conf
LANG=en_AU.UTF-8
LANGUAGE=en_AU:en_GB:en
Not
Birçok uygulama İngilizce yerel ayarlarını
en
veya
en_US
olarak adlandırmaz veya takma ad olarak kullanmaz, bunun yerine
C
olan varsayılan yerel ayarı kullanır. Eğer
LANGUAGE
içinde İngilizceden sonra İngilizce olmayan bir yerel ayar yerleştirilirse, örneğin
LANGUAGE=en_US:en:tr_TR
, o zaman uygulamalar İngilizce dizeler mevcut olmasına rağmen ikincil yerel ayarı seçebilir.
[3]
Çözüm,
C
yerel ayarını her zaman açıkça İngilizceden sonra yerleştirmektir. Örneğin
LANGUAGE=en_US:en:C:tr_TR
.
LC_TIME: tarih ve saat biçimi
Eğer
LC_TIME
en_US.UTF-8
olarak ayarlanmışsa, örneğin, tarih biçimi “MM/DD/YYYY” olacaktır.  Eğer
ISO 8601
tarih biçimi olan “YYYY-MM-DD” kullanılmak isteniyorsa:
locale.conf
LC_TIME=en_DK.UTF-8
Geçerli zaman damgasını yerel tarih ve saat biçiminizi kullanarak
date +“%c”
ile yazdırabilirsiniz.
glibc
2.29 sürümünde bir hatayı düzeltti,
en_US.UTF-8
amaçlandığı gibi 12 saat biçiminde gösterilmeye başlandı.  Eğer 24 saat formatını kullanmak istiyorsanız,
LC_TIME=C.UTF-8
kullanın.
Note
Programlar, tarihi formatlamak için bu değişkeni her zaman dikkate almazlar. Örneğin,
date(1)
kendi parametrelerini kullanır ve
Firefox
, 57 ile 84 arasındaki sürümlerde
LC_TIME
'ı kullanmayı durdurmuştur (
Bug 1429578
).
LC_COLLATE: sıralama
Bu değişken, sıralama ve düzenli ifadeler için kullanılan dizilim kurallarını yönetir.
Değeri
C
olarak ayarlamak, örneğin
ls
komutunun nokta ile başlayan dosyaları önce sıralamasını, ardından büyük harfli ve küçük harfli dosya adlarının sıralanmasını sağlar:
locale.conf
LC_COLLATE=C
Ayrıca bakabilirsiniz.
[4]
.
Arch, olası sorunları çözmek için
/etc/profile
içindeki
LC_COLLATE=C
ayarını kullanırdı, ancak bu yöntem artık kullanılmamaktadır.
LC_ALL: sorun giderme
Bu değişken için ayarlanan yerel ayar, ayarlanmış olsun ya da olmasın
LANG
ve diğer tüm
LC_*
değişkenlerini her zaman geçersiz kılacaktır. Eğer
LC_ALL
değişkeni
C
veya
C.UTF-8
olarak ayarlanmışsa,
LANGUAGE
değişkenini de geçersiz kılacaktır.
LC_ALL
,
locale.conf
dosyalarında
ayarlanamayan
tek
LC_*
değişkenidir: yalnızca test veya sorun giderme için kullanılması amaçlanmıştır, örneğin
/etc/profile
dosyası içinde.
Sorun Giderme
Karakter Kodlama sorunları için
Character encoding#Troubleshooting
kısmına göz atın.
Sistemim hala yanlış dil kullanıyor
Ortam değişkenlerinin
locale.conf
dışında başka dosyalarda yeniden tanımlanmış olması mümkündür. Ayrıntılar için
Environment variables#Defining variables
bölümüne bakınız.
Eğer
GNOME
gibi bir masaüstü ortamı kullanıyorsanız, bu ortamın dil ayarları
locale.conf
içindeki ayarları geçersiz kılıyor olabilir.
KDE
Plasma ayrıca sistem ayarları aracılığıyla arayüzün dilini değiştirmeye izin verir. Değişiklikten sonra masaüstü ortamı hala varsayılan dili kullanıyorsa,
adresindeki dosyayı silin
~/.config/plasma-localerc
(önceden):
~/.config/plasma-locale-settings.sh
sorunu çözmelidir.
Eğer
accountsservice
ile birlikte bir görüntü yöneticisi kullanıyorsanız,
Display manager#Set language for user session
bölümündeki talimatları izleyin.
LightDM
yüklüyse kullanıcının yerel ayarını ayarlamak için otomatik olarak
accountsservice
kullanacaktır. Aksi takdirde, LightDM kullanıcı oturumu yapılandırmasını
~/.dmrc
içinde saklar. İstenmeyen bir yerel ayarın oradan da alınması mümkündür.
Özel bir yerel ayar kullanmak sorunlara neden oldu
Resmi olarak desteklenmeyen bir yerel ayarı yüklerken (örneğin,
locale-en_xx
AUR
),
bazı uygulamalarda çalışmayan dead/compose tuşları
veya
eksik yerel ayarları bildiren uygulamalar
gibi bazı sorunlar ortaya çıkabilir.
Özel bir yerel ayar yükledikten sonra, bu sorunları çözmek için manuel müdahale gerekir.
iki yaklaşım
vardır (
en_XX.UTF-8
'i indirmiş olduğunuz özel yerel ayarınızın tanımlayıcısıyla değiştirin):
LC_CTYPE'ı ayarla
LC_CTYPE
öğesini resmi olarak desteklenen bir yerel ayara (
en_US.UTF-8
gibi) ayarlayın, örn:
/etc/locale.conf
LANG=en_XX.UTF-8
LC_CTYPE=en_US.UTF-8
Xlib veritabanını değiştirme
Aşağıdakileri ekleyerek Xlib veritabanını değiştirin:
/usr/share/X11/locale/locale.dir
en_US.UTF-8/XLC_LOCALE en_XX.UTF-8
en_US.UTF-8/XLC_LOCALE: en_XX.UTF-8
/usr/share/X11/locale/compose.dir
en_US.UTF-8/Compose en_XX.UTF-8
en_US.UTF-8/Compose: en_XX.UTF-8
ABD yerel ayarı ile metrik ölçümler
Bazı araçlarda,
nvme-cli
gibi, birim türü
locale
ayarlarına göre seçilir; bu nedenle, ABD yerel ayarları kullanılıyorsa sıcaklıklar Fahrenheit cinsinden gösterilir. Örneğin sıcaklıkları Celsius cinsinden almak ve aynı zamanda ABD yerel ayarıyla Metrik ölçümleri kullanmak istiyorsanız,
LC_MEASUREMENT=metric
öğesini
/etc/locale.conf
öğesine ekleyin, paket sadece ülke yerine
LC_MEASUREMENT
öğesini ararsa işe yarayacaktır.
[5]
Ayrıca bkz.
Locales - glibc wiki
Gentoo:Localization/Guide
Supposedly 2008, or earlier, Gentoo wiki article
ICU's interactive collation testing
Free Standards Group Open Internationalisation Initiative
The POSIX definition of a locale
Locale environment variables