Pengaturan lokal adalah preferensi pengguna yang terkait dengan budaya Anda.
Nama lokal
Pada semua varian unix saat ini yang saya tahu (tetapi tidak pada beberapa barang antik), nama lokal mengikuti pola yang sama:
- Sebuah ISO 639-1 huruf kecil dua huruf kode bahasa, atau ISO 639-2 tiga huruf kode bahasa jika bahasa tidak memiliki kode dua huruf. Misalnya,
en
untuk bahasa Inggris, de
untuk Jerman, ja
untuk Jepang, uk
untuk Ukraina, ber
untuk Berber, ...
- Untuk banyak tetapi tidak semua bahasa, garis bawah
_
diikuti dengan kode negara dua huruf ISO 3166 huruf besar. Jadi: en_US
untuk bahasa Inggris AS, en_UK
untuk Inggris Inggris, fr_CA
Kanada (Québec) Prancis, de_DE
untuk Jerman Jerman, de_AT
Jerman Jerman, ja_JP
untuk Jepang (Jepang), dll.
- Opsional, titik
.
diikuti dengan nama sebuah karakter encoding seperti UTF-8
, ISO-8859-1
, KOI8-U
, GB2312
, Big5
, dll Dengan GNU libc setidaknya (saya tidak tahu seberapa luas ini), kasus dan tanda baca diabaikan dalam pengkodean nama. Sebagai contoh, zh_CN.UTF-8
adalah Mandarin (disederhanakan) Mandarin dikodekan dalam UTF-8, sedangkan zh_CN
Mandarin Mandarin dikodekan dalam GB2312, dan Cina zh_TW
Taiwan (tradisional) dikodekan dalam Big5.
- Secara opsional, tanda saat
@
diikuti dengan nama varian. Arti varian tergantung pada lokal. Sebagai contoh, banyak negara Eropa memiliki @euro
varian lokal di mana tanda mata uangnya adalah € dan di mana pengkodeannya adalah salah satu yang menyertakan karakter ini (ISO 8859-15 atau ISO 8859-16), sebagai lawan varian tanpa hiasan dengan tanda mata uang yang lebih tua. Misalnya, en_IE
(Inggris, Irlandia) menggunakan pengkodean latin1 (ISO 8859-1) dan £ sebagai simbol mata uang sementara en_IE@euro
menggunakan pengkodean latin9 (ISO 8859-15) dan € sebagai simbol mata uang.
Selain itu, ada dua nama lokal yang ada di semua sistem seperti-unix: C
dan POSIX
. Nama-nama ini sinonim dan berarti komputer, yaitu pengaturan default yang sesuai untuk data yang diuraikan oleh program komputer.
Pengaturan lokal
Kategori lokal berikut ini didefinisikan oleh POSIX :
LC_CTYPE
: set karakter yang digunakan oleh aplikasi terminal: data klasifikasi (yang karakternya adalah huruf, tanda baca, spasi, tidak valid, dll.) dan konversi kasus. Utilitas teks biasanya mengindahkan LC_CTYPE
untuk menentukan batas karakter.
LC_COLLATE
: pesanan collation (sorting). Pengaturan ini sangat terbatas digunakan karena beberapa alasan:
- Sebagian besar bahasa memiliki aturan rumit yang bergantung pada apa yang sedang disortir (mis. Kata kamus dan nama yang tepat mungkin tidak menggunakan urutan yang sama) dan tidak dapat diungkapkan oleh
LC_COLLATE
.
- Ada beberapa aplikasi di mana masalah urutan yang tepat dilakukan oleh perangkat lunak yang menggunakan pengaturan lokal. Misalnya, pengolah kata menyimpan bahasa dan penyandian file dalam file itu sendiri (jika tidak file tidak akan diproses dengan benar pada sistem dengan pengaturan lokal yang berbeda) dan tidak peduli tentang pengaturan lokal yang ditentukan oleh lingkungan.
LC_COLLATE
dapat memiliki efek samping yang buruk, khususnya karena menyebabkan urutan sortir A <a <B <…, yang menjadikan “antara A dan Z” termasuk huruf kecil a hingga y. Secara khusus, ekspresi reguler yang sangat umum seperti [A-Z]
memecah beberapa aplikasi .
LC_MESSAGES
: bahasa informasi dan pesan kesalahan.
LC_NUMERIC
: pemformatan angka: desimal dan pemisah ribuan.
Banyak aplikasi hard-code .
sebagai pemisah desimal. Ini membuat LC_NUMERIC
tidak terlalu berguna dan berpotensi berbahaya:
- Bahkan jika Anda mengaturnya, Anda masih akan sering melihat format default.
- Anda cenderung masuk ke situasi di mana satu aplikasi menghasilkan output yang bergantung pada lokal dan aplikasi lain mengharapkan
.
menjadi titik desimal, atau ,
menjadi pemisah bidang.
LC_MONETARY
: seperti LC_NUMERIC
, tetapi untuk jumlah mata uang lokal.
Sangat sedikit aplikasi yang menggunakan ini.
LC_TIME
: format tanggal dan waktu: nama hari kerja dan bulan, jam 12 atau 24 jam, urutan bagian tanggal, tanda baca, dll.
GNU libc, yang akan Anda temukan di Linux yang tidak tertanam, mendefinisikan kategori lokal tambahan:
LC_PAPER
: ukuran kertas standar (ditentukan oleh tinggi dan lebar).
LC_NAME
, LC_ADDRESS
, LC_TELEPHONE
, LC_MEASUREMENT
, LC_IDENTIFICATION
: Saya tidak tahu dari setiap aplikasi yang menggunakan ini.
Variabel lingkungan
Aplikasi yang menggunakan pengaturan lokal menentukan mereka dari variabel lingkungan.
- Kemudian nilai
LANG
variabel lingkungan digunakan kecuali ditimpa oleh pengaturan lain. Jika LANG
tidak disetel, lokal default adalah C
.
LC_xxx
Nama - nama dapat digunakan sebagai variabel lingkungan.
- Jika
LC_ALL
diatur, maka semua nilai lainnya diabaikan; ini sangat berguna untuk mengatur LC_ALL=C
aplikasi yang dijalankan yang perlu menghasilkan output yang sama di mana pun mereka dijalankan.
- Selain itu, libc GNU digunakan
LANGUAGE
untuk mendefinisikan fallback untuk LC_MESSAGES
(misalnya LANGUAGE=fr_BE:fr_FR:en
untuk memilih Bahasa Prancis Belgia, atau jika Prancis Perancis tidak tersedia, atau jika Bahasa Inggris tidak tersedia).
Menginstal lokal
Data lokal dapat berukuran besar, sehingga beberapa distribusi tidak mengirimkannya dalam bentuk yang dapat digunakan dan sebagai gantinya memerlukan langkah instalasi tambahan.
- Pada Debian, untuk menginstal lokal, jalankan
dpkg-reconfigure locales
dan pilih dari daftar di kotak dialog, atau edit /etc/locale.gen
dan kemudian jalankan locale-gen
.
- Di Ubuntu, untuk menginstal lokal, jalankan
locale-gen
dengan nama-nama lokal sebagai argumen.
Anda dapat menentukan lokal Anda sendiri .
Rekomendasi
Pengaturan yang bermanfaat adalah:
- Setel
LC_CTYPE
ke bahasa dan penyandian tempat Anda menyandikan file teks Anda. Pastikan terminal Anda menggunakan penyandian itu.
Untuk sebagian besar bahasa, hanya masalah penyandian. Ada beberapa pengecualian; misalnya, huruf besar i
adalah I
dalam kebanyakan bahasa tetapi İ
di Turki (tr_TR
).
- Setel
LC_MESSAGES
ke bahasa tempat Anda ingin melihat pesan.
- Setel
LC_PAPER
ke en_US
jika Anda ingin Surat US menjadi ukuran kertas standar dan hal lainnya (mis. en_GB
) Jika Anda menginginkan A4.
- Secara opsional, atur
LC_TIME
ke format waktu favorit Anda.
Seperti dijelaskan di atas, hindari pengaturan LC_COLLATE
dan LC_NUMERIC
. Jika Anda menggunakan LANG
, timpa kedua kategori ini secara eksplisit dengan mengaturnya C
.
Gilles 'SANGAT berhenti menjadi jahat'
sumber
LC_PAPER
. Dan dapatkah saya memperbarui ini di seluruh sistem tanpa me-reboot?/etc/default/locale
. File-file ini berlaku ketika Anda login; Anda dapat melakukannyaexport LC_PAPER=…
di shell untuk mempengaruhi perintah yang diluncurkan dari shell itu.