Saya telah menulis aplikasi web untuk antarmuka pengguna dalam bahasa Belanda. Saya menggunakan rutin tanggal dan waktu sistem untuk memformat string tanggal dalam aplikasi. Namun, string tanggal yang format sistemnya dalam bahasa Inggris tapi saya ingin mereka dalam bahasa Belanda, jadi saya perlu mengatur lokal sistem. Bagaimana saya melakukannya di Debian? Saya mencoba pengaturan LC_ALL=nl_NL
tetapi tampaknya tidak berpengaruh:
$ date
Sat Aug 15 14:31:31 UTC 2009
$ LC_ALL=nl_NL date
Sat Aug 15 14:31:36 UTC 2009
Saya ingat pengaturan LC_ALL pada sistem desktop Ubuntu saya berfungsi dengan baik. Apakah saya perlu menginstal paket tambahan untuk membuat ini berfungsi, atau apakah saya salah melakukannya?
linux
debian
localization
Hongli Lai
sumber
sumber
sudo dpkg-reconfigure locales
.Jawaban:
Edit
/etc/default/locale
dan atur konten ke:Anda dapat memeriksa lokal mana yang saat ini Anda hasilkan menggunakan:
Anda dapat menghasilkan lebih banyak dengan mengedit
/etc/locale.gen
dan menghapus komentar baris untuk lokal yang ingin Anda aktifkan. Kemudian Anda dapat menghasilkan mereka dengan menjalankan:Anda dapat menemukan daftar lokal yang didukung di
/usr/share/i18n/SUPPORTED
Ada informasi lebih lanjut yang tersedia di wiki Debian .
sumber
Anda mungkin perlu menginstal
locales
paket. Ini akan menanyakan Anda tempat mana yang akan dihasilkan. Jika sudah diinstal, makadpkg-reconfigure locales
Anda dapat menghasilkan lebih banyak lokal.sumber
sudo
seperti padasudo dpkg-reconfigure locales
.NONE
.Jawaban di sini tidak lengkap seperti pada kebanyakan tempat lain. Setelah mengumpulkan informasi dari beberapa tempat, yang berhasil bagi saya adalah (1) memastikan lokal yang saya inginkan tersedia (menghasilkannya jika tidak) kemudian (2) mengatur variabel lingkungan terkait lokal ke lokal yang diinginkan.
Dalam kasus saya, saya membutuhkan
en_US.UTF-8
program (yaitu non-interaktif) yang diinstal dalam wadah buruh pelabuhan. Ff mencapai apa yang saya butuhkan tetapi harus bekerja dengan baik di shell interaktif.Pada shell yang sama, Anda harus melakukan
source ~/.bashrc
agar env vars berlaku segera. Anda dapat memeriksa bahwa lokal telah dikonfigurasi dengan benar dengan memohonlocale
.Ada banyak entri tanya jawab mengenai subjek ini tetapi hanya sedikit yang benar-benar membantu. Kredit yang harus dibayar:
sumber
Tidak satu pun dari jawaban ini yang berfungsi untuk saya, pada wadah LXC yang diinstal dengan:
Saya selalu mendapatkan output berikut
locale-gen
, yaitu tidak menghasilkan lokal (tidak ada yang terdaftar):Menjalankan
dpkg-reconfigure locales
dan memilih beberapa lokal tidak memperbarui/etc/locale.gen
seperti yang saya harapkan.Namun, ketika saya memodifikasi file itu secara manual dan menghapus komentar lokal yang saya inginkan, kemudian
locale-gen
mulai berfungsi dengan baik:Saya juga dapat membuat lokal secara manual seperti ini:
Tapi ini bukan solusi permanen: Saya menemukan bahwa menjalankan
locale-gen
tanpa--keep-existing
opsi akan menghapus semua lokal yang dihasilkan secara manual, yaitu setiap lokal yang tidak terdaftar (dan tidak dicommentasikan) pada/etc/locale.gen
.sumber
Untuk aplikasi web, mungkin lebih baik menggunakan setlocale () di dalam program, daripada mengharuskan lokal default sistem diatur secara tepat di luar. Kurang longgar berakhir seperti itu.
sumber
setlocale
maka tidak akan berfungsi.Tetapi pertama-tama Anda perlu menginstal paket bahasa. Di VPS saya yang berbasis Jerman tidak ada paket bahasa Inggris yang sudah diinstal sebelumnya. Jadi, pertama Anda memeriksa apakah Anda sudah menginstalnya:
sumber
Bagi mereka, seperti saya, di Ubuntu 14.04 LTS, memiliki, entah bagaimana, tanpa
/etc/locale.gen
file, Anda dapat menambahkan lokal baru di/var/lib/locales/supported.d/local
dan kemudian jalankan:sudo dpkg-reconfigure locales
Anda juga dapat menambahkan lokal Prancis (misalnya) dengan cara ini (alih-alih mengedit
/var/lib/locales/supported.d/local
):sudo locale-gen fr_FR fr_FR.UTF-8
untuk menambah dan menghasilkan
ISO-8859-1
danUTF-8
kumpulan kodefr_FR
lokal dan akhirnya ketik:sudo dpkg-reconfigure locales
untuk menyelesaikan pekerjaan
sumber