Bagaimana cara mengubah lokal default di Server Ubuntu?

29

Saya memiliki server jarak jauh yang saya instal dan telah mencoba untuk gagal mengubah lokal ke bahasa Prancis selama beberapa jam. Di bawah ini adalah isi file lokal saya:

/etc/default/locale:

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

/var/lib/locales/supported.d/local:

fr_FR.UTF-8 UTF-8
en_US.UTF-8 UTF-8
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
en_GB.ISO-8859-15 ISO-8859-15
fr_BE.UTF-8 UTF-8
fr_CA.UTF-8 UTF-8
fr_CH.UTF-8 UTF-8
fr_LU.UTF-8 UTF-8
fr_FR ISO-8859-1

Semuanya masih default ke tanggal bahasa Inggris dan $ currency di aplikasi web saya. Apakah ada hal lain yang saya abaikan? Saya juga harus menyebutkan bahwa saya telah mengkonfigurasi ulang dpkg dan me-restart server setelah perubahan dibuat.

Dark Star1
sumber

Jawaban:

57

Jalankan perintah locale- ini akan menunjukkan lokal Anda saat ini.

Hasilkan lokal untuk Prancis:

sudo locale-gen fr_FR
sudo locale-gen fr_FR.UTF-8

Juga, cobalah membuat ulang daftar lokal yang didukung dengan menjalankan:

sudo dpkg-reconfigure locales

Dan perbarui / ubah lokal default saat ini:

sudo update-locale LANG=fr_FR.UTF-8

Memperbarui

Langkah ekstra untuk dicoba:

  1. Mencoba:

    sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"
    sudo dpkg-reconfigure locales
    
  2. Mungkin menambahkan LANG dan LANGUAGE di /etc/environmentdapat memaksa perubahan. Coba logout / masuk atau reboot.

  3. localeakan menunjukkan lokal Anda saat ini untuk pengguna saat ini. Mungkin ada baiknya memeriksa file-file ini hanya untuk memastikan tidak ada variabel bahasa lokal yang ditetapkan:~/.profile ~/.bashrc ~/.bash_profile

Info lebih lanjut:

Savvas Radevic
sumber
1
Jus pertanyaan cepat. Apakah sistem perlu direstart agar perubahan diterapkan?
Dark Star1
1
Saya pikir logout / login harus melakukannya
Savvas Radevic
1
coba sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"dan sudo dpkg-reconfigure locales. Akhirnya, mungkin menambahkan LANG dan LANGUAGE di /etc/environmentdapat memaksa perubahan. Coba reboot, mungkin diperlukan untuk layanan server. :)
Savvas Radevic
1
sudo update-locale var=localedan restart berfungsi untuk saya di server ubuntu 16.04.
Daniel
1
@ DarkStar1 Tentang memulai ulang sistem, saya harus memulai ulang.
Alfonso Nishikawa
2

Saya mencoba semuanya dari sudo locale-gendan sudo update-localeke sudo update-locale, dan secara manual membuat entri di /etc/default/localedan /etc/environmentdengan dan tanpa memulai kembali.

Tampaknya tidak ada yang berhasil dan kode Python saya masih melempar kesalahan Unicode pada Ubuntu 18.04l. Akhirnya memodifikasi variabel lingkungan dalam ~/.bashrcbekerja.

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

Tentu saja jangan lupa source ~/.bashrc

Saya tahu ini bukan cara yang disarankan, tetapi tidak ada yang berhasil untuk saya.

Abhimanu Kumar
sumber
Tentu saja ini harus dilakukan untuk setiap pengguna .bashrc dan juga ditambahkan ke skelton untuk pengguna baru .....
mckenzm
1

Anda juga harus mengedit /etc/profile:

export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"
Witek
sumber
Ini seperti komentar atas jawaban Abhimanu. Untuk mengkritik atau meminta klarifikasi dari penulis, tinggalkan komentar di bawah posting mereka. - Dari Ulasan
guntbert
Itu bukan komentar. Ini adalah solusinya, yang bekerja untuk saya.
Witek