GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menginstal/mengubah lokal di Debian?

Solusi 1:

Edit /etc/default/locale dan atur isinya ke:

LANG="nl_NL.UTF-8"

Anda dapat memeriksa lokal mana yang saat ini Anda hasilkan menggunakan:

locale -a

Anda dapat menghasilkan lebih banyak dengan mengedit /etc/locale.gen dan hapus komentar pada baris untuk lokal yang ingin Anda aktifkan. Kemudian Anda dapat membuatnya dengan menjalankan perintah:

locale-gen

Anda dapat menemukan daftar lokal yang didukung di /usr/share/i18n/SUPPORTED

Ada lebih banyak informasi yang tersedia di wiki Debian.

Solusi 2:

Anda mungkin perlu memasang locales kemasan. Ini akan menanyakan Anda lokal mana yang akan dihasilkan. Jika sudah terpasang, maka dpkg-reconfigure locales akan membiarkan Anda menghasilkan lebih banyak lokal.

Solusi 3:

Jawaban di sini tidak lengkap seperti kebanyakan di tempat lain. Setelah menyatukan informasi dari beberapa tempat, yang berhasil bagi saya adalah (1) memastikan lokal yang saya inginkan tersedia (hasilkan jika tidak ada) lalu (2) setel variabel lingkungan terkait lokal ke lokal yang diinginkan.

Dalam kasus saya, saya membutuhkan en_US.UTF-8 terprogram (yaitu non-interaktif) dipasang di wadah buruh pelabuhan. Ff menyelesaikan apa yang saya butuhkan tetapi seharusnya berfungsi dengan baik di shell interaktif.

apt-get update

# Install locales package
apt-get install -y locales

# Uncomment en_US.UTF-8 for inclusion in generation
sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen

# Generate locale
locale-gen

# Export env vars
echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc
echo "export LANG=en_US.UTF-8" >> ~/.bashrc
echo "export LANGUAGE=en_US.UTF-8" >> ~/.bashrc

Pada shell yang sama, Anda perlu melakukan source ~/.bashrc agar env vars segera berlaku. Anda dapat memeriksa apakah lokal telah dikonfigurasi dengan benar dengan mengaktifkan locale .

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

Ada banyak entri Q&A mengenai subjek ini tetapi hanya sedikit yang benar-benar membantu. Kredit di mana kredit jatuh tempo:

  • https://unix.stackexchange.com/a/247019/21289
  • https://perlgeek.de/en/article/set-up-a-clean-utf8-environment

Solusi 4:

Tidak satu pun dari jawaban ini yang berfungsi untuk saya, pada wadah LXC yang dipasang dengan:

lxc-create -n sse-master -t download -n sse-master -- \
    -d debian -r jessie --arch i386

Saya selalu mendapatkan output berikut dari locale-gen , yaitu tidak membuat lokal apa pun (tidak ada yang terdaftar):

$ sudo locale-gen
Generating locales (this might take a while)...
Generation complete.

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 pada lokal yang saya inginkan, maka locale-gen mulai berfungsi dengan baik:

$ sudo locale-gen
Generating locales (this might take a while)...
  en_GB.UTF-8... done
  en_US.UTF-8... done
Generation complete.

Saya juga dapat membuat lokal secara manual seperti ini:

sudo localedef -i en_US -f UTF-8 en_US.UTF-8
sudo localedef -i en_GB -f UTF-8 en_GB.UTF-8

Tapi ini bukan solusi permanen:saya menemukan bahwa menjalankan locale-gen tanpa --keep-existing opsi akan menghapus semua lokal yang dibuat secara manual, yaitu setiap lokal yang tidak terdaftar (dan tidak diberi komentar) di /etc/locale.gen .

Solusi 5:

Untuk aplikasi web, mungkin lebih baik menggunakan setlocale () di dalam program, daripada mengharuskan lokal default sistem disetel dengan tepat di luar. Kurang longgar berakhir seperti itu.


Linux
  1. Cara Mengubah Nama Host di Debian

  2. Cara Menginstal MariaDB di Debian 11

  3. Cara Menginstal MySQL di Debian 11

  1. Cara Menginstal R di Debian 9

  2. Cara Menginstal R di Debian 10

  3. Bagaimana cara menginstal Debian 11

  1. Cara Menginstal Go di Debian 10

  2. Cara Menginstal ifconfig di Debian

  3. Cara Menginstal LEMP Di Debian 7