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,
enuntuk bahasa Inggris, deuntuk Jerman, jauntuk Jepang, ukuntuk Ukraina, beruntuk Berber, ...
- Untuk banyak tetapi tidak semua bahasa, garis bawah
_diikuti dengan kode negara dua huruf ISO 3166 huruf besar. Jadi: en_USuntuk bahasa Inggris AS, en_UKuntuk Inggris Inggris, fr_CAKanada (Québec) Prancis, de_DEuntuk Jerman Jerman, de_ATJerman Jerman, ja_JPuntuk 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-8adalah Mandarin (disederhanakan) Mandarin dikodekan dalam UTF-8, sedangkan zh_CNMandarin Mandarin dikodekan dalam GB2312, dan Cina zh_TWTaiwan (tradisional) dikodekan dalam Big5.
- Secara opsional, tanda saat
@diikuti dengan nama varian. Arti varian tergantung pada lokal. Sebagai contoh, banyak negara Eropa memiliki @eurovarian 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@euromenggunakan pengkodean latin9 (ISO 8859-15) dan € sebagai simbol mata uang.
Selain itu, ada dua nama lokal yang ada di semua sistem seperti-unix: Cdan 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_CTYPEuntuk 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_COLLATEdapat 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_NUMERICtidak 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
LANGvariabel lingkungan digunakan kecuali ditimpa oleh pengaturan lain. Jika LANGtidak disetel, lokal default adalah C.
LC_xxxNama - nama dapat digunakan sebagai variabel lingkungan.
- Jika
LC_ALLdiatur, maka semua nilai lainnya diabaikan; ini sangat berguna untuk mengatur LC_ALL=Caplikasi 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:enuntuk 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 localesdan pilih dari daftar di kotak dialog, atau edit /etc/locale.gendan kemudian jalankan locale-gen.
- Di Ubuntu, untuk menginstal lokal, jalankan
locale-gendengan nama-nama lokal sebagai argumen.
Anda dapat menentukan lokal Anda sendiri .
Rekomendasi
Pengaturan yang bermanfaat adalah:
- Setel
LC_CTYPEke 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 iadalah Idalam kebanyakan bahasa tetapi İdi Turki (tr_TR ).
- Setel
LC_MESSAGESke bahasa tempat Anda ingin melihat pesan.
- Setel
LC_PAPERke en_USjika Anda ingin Surat US menjadi ukuran kertas standar dan hal lainnya (mis. en_GB) Jika Anda menginginkan A4.
- Secara opsional, atur
LC_TIMEke format waktu favorit Anda.
Seperti dijelaskan di atas, hindari pengaturan LC_COLLATEdan LC_NUMERIC. Jika Anda menggunakan LANG, timpa kedua kategori ini secara eksplisit dengan mengaturnya C.
LC_PAPER. Dan dapatkah saya memperbarui ini di seluruh sistem tanpa me-reboot?