GNU/Linux >> Belajar Linux >  >> Ubuntu

Mengapa Mengganti Variabel Lingkungan Lang Tidak Mengubah Bahasa Untuk Saya?

Saya mencoba menjalankan aplikasi dalam bahasa lain sebagai lingkungan saya saat ini. Untuk memulai yang sederhana, saya ingin mengubah bahasa ls .

Inilah yang saya baca di semua tempat (lihat di bawah untuk pertanyaan terkait):atur LANG ke salah satu lokal yang didukung, mis.:

LANG=nl_NL.UTF-8 ls /nonexistent

untuk menampilkan keluaran bahasa Belanda (NL).

Namun, saya masih mendapatkan hasil bahasa Inggris:

$ LANG=nl_NL.UTF-8 ls -al /nonexistent
ls: cannot access /nonexistent: No such file or directory

Lingkungan saya saat ini:

$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

Yang pasti, saya sudah memeriksa:

  • Lokal didukung:

    $ grep nl_NL /usr/share/i18n/SUPPORTED 
    nl_NL.UTF-8 UTF-8
    nl_NL ISO-8859-1
    [email protected] ISO-8859-15
    
  • Lokal dihasilkan:

    sudo locale-gen nl_NL.UTF-8
    

    dan sudo dpkg-reconfigure locales juga menunjukkan itu dihasilkan.

  • Menginstal paket bahasa Belanda (sudah diinstal):

    sudo apt-get install language-pack-nl
    

Apa lagi yang sudah saya coba?

  • Menggunakan export untuk menyetel keduanya LANG dan LANGUAGE alih-alih mengawali perintah.
  • Setel juga LC_ALL .

Ironisnya, beberapa (hanya beberapa!) aplikasi GUI sebenarnya dalam bahasa Belanda, tetapi saya belum mengonfigurasinya sama sekali!

Saya menggunakan Kubuntu 12.04(.2), ​​sejauh itu penting.

Pertanyaan serupa (tidak berhasil):

  • Apakah mungkin untuk mengubah bahasa untuk antarmuka pengguna sementara?
  • Bagaimana cara mengganti lokal sistem dengan satu perintah?
  • Ubah sementara bahasa untuk pesan/peringatan/kesalahan terminal (dinyatakan berfungsi, tetapi tidak berfungsi untuk saya)
  • Bagaimana cara menambahkan lokal ke server ubuntu?

Apa yang salah dengan sistem saya? Di mana harus men-debug ini lebih lanjut?

Jawaban yang Diterima:

Karena LANGUAGE, yang lebih diutamakan daripada LANG, disetel dan tidak diubah.

$ LANGUAGE=nl ls /nonexistent
ls: kan geen toegang krijgen tot /nonexistent: Bestand of map bestaat niet

Info lebih lanjut ada di dokumentasi gettext GNU:

GNU gettext memberikan preferensi ke LANGUAGE daripada LC_ALL dan LANG untuk tujuan penanganan pesan, tetapi Anda masih harus menyetel LANG (atau LC_ALL) ke bahasa utama; ini diperlukan oleh bagian lain dari perpustakaan sistem.


Ubuntu
  1. Bagaimana Cara Memindai Flash Drive Untuk Virus Windows Saat Di Linux? (bukan Clamav)?

  2. Variabel Lingkungan Maven Tidak Bekerja Di Terminal Lain?

  3. Mengapa saya tidak melihat MSG_EOR untuk SOCK_SEQPACKET di linux?

  1. Mengapa ~/.bash_profile Tidak Berfungsi?

  2. Variabel lingkungan TERM tidak disetel

  3. Apa variabel lingkungan XDG_VTNR?

  1. Mengubah Tata Letak Bahasa &Keyboard Pada Berbagai Distribusi

  2. Mengapa Dokumen Induk Shell Di Sini Tidak Berfungsi Untuk Sub-perintah Di Dash Tapi Bash Bekerja?

  3. Mengapa Ubuntu Terus Meminta Kata Sandi Gmail?