Jump to content

# Locale (Türkçe)

From ArchWiki

İ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_xxAUR), 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

Category:

- Localization (Türkçe)

Locale (Türkçe)
Add topic