Bagaimana cara mengubah / memperbaiki lokal sistem ketika Anda mengatur dalam bahasa yang tidak resmi di negara Anda?

16

Bagaimana cara mengatur lokal global untuk komputer?

Saya baru-baru ini menginstal Kubuntu 14.04LTS dalam bahasa Inggris tetapi karena saya di Spanyol, saya memilih Spanyol sebagai negara dan kemudian mengubah opsi lokal sehingga saya mendapatkan semua konfigurasi khusus negara seperti pengelompokan digit, pemisah desimal, format tanggal, dll. Saya juga menambahkan bahasa spanyol.

Sekarang semua aplikasi mengeluh bahwa lokal itu salah. check-language-supportmemberitahu saya saya menggunakan en_ES.UTF-8sebagai sistem lokal, dan lokal itu memang salah, tidak ada lokal untuk bahasa Inggris di Spanyol.

Saya mencoba menggunakan pengaturan negara / wilayah & bahasa Kubuntu tetapi tidak memperbaikinya. Saya mencoba menggunakan export LANG=en_GB.UTF-8dan export LC_ALL=en_GB.UTF-8kemudian sudo dpkg-reconfigure localesdan itu menyebabkan check-language-supportmengatakan bahwa saya sekarang memiliki konfigurasi yang benar tetapi jika ya, itu hanya dalam sesi konsole itu. Masalah ini juga mencegah konsole menampilkan karakter unicode dan saya tidak dapat menggunakan kunci mati atau memasukkan 'karakter internasional' seperti ñ atau ç (yang berfungsi pada aplikasi lain seperti Firefox, yang saya gunakan untuk memposting pertanyaan ini).

Jadi pertanyaannya adalah: Bagaimana cara mengatur lokal global untuk komputer?

Ini bukan laporan bug, saya mungkin akan menginstal ulang komputer saya pada akhirnya jika saya tidak bisa memperbaikinya. Tetapi saya benar-benar ingin tahu bagaimana saya dapat melakukan tugas dasar yang BENAR-BENAR ini.

Terima kasih.

$ check-language-support
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
hunspell-en-ca libreoffice-help-en-gb libreoffice-l10n-en-gb libreoffice-l10n-en-za mythes-en-au wspanish

$ cat /etc/default/locale
LANG="en_US.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"


$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_ES.UTF-8
LANGUAGE=en:es:en
LC_CTYPE="en_ES.UTF-8"
LC_NUMERIC=en_ES.UTF-8
LC_TIME=en_ES.UTF-8
LC_COLLATE="en_ES.UTF-8"
LC_MONETARY=en_ES.UTF-8
LC_MESSAGES="en_ES.UTF-8"
LC_PAPER=en_ES.UTF-8
LC_NAME=en_ES.UTF-8
LC_ADDRESS=en_ES.UTF-8
LC_TELEPHONE=en_ES.UTF-8
LC_MEASUREMENT=en_ES.UTF-8
LC_IDENTIFICATION=en_ES.UTF-8
LC_ALL=
$ update-locale
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Calabacin
sumber

Jawaban:

9

Bug dilaporkan di sini: https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1322968 - "Mengubah negara mengarah ke lokal yang tidak valid"

Penanganan masalah:

  1. Pilih negara Inggris Inggris - bukan Inggris Amerika (dan kemudian bahasa Spanyol)
  2. Atau mengedit secara manual ~/.kde/env/setlocale.shsetelah mengubah pengaturan Negara / Wilayah & Bahasa
Freddy Vulto
sumber
8

Saya telah memecahkan masalah ini dengan mengikuti langkah-langkah di bawah ini. Saya telah mempelajari bagaimana locales bekerja dan set konfigurasi yang berbeda antara beberapa distribusi (awalnya berbasis Debian).

Saya menggunakan Linux Mint sebagai distribusi sistem utama saya dan Debian sebagai server sistem saya.

Terlepas dari kenyataan Ubuntu berasal dari Debian, pengaturan lokal sedikit berbeda.

1) Verifikasi lokasi mana yang diinstal dan dihasilkan di sistem Anda:

sudo locale -a

2) hapus lokal yang tidak diinginkan menggunakan perintah berikut:

sudo localedef --delete-from-archive <YOUR DESIRED LOCALE HERE>

sebagai contoh:

sudo localedef --delete-from-archive en_AG

Konfigurasi default yang terletak di /etc/default/localeditimpa oleh pengaturan pribadi (hanya pengguna lokal) yang dihasilkan oleh Aplikasi Bahasa Sistem. Pengaturan ini terletak di $HOME/.pam_environment( $HOME= Lokasi folder rumah Anda).

Kosongkan file ini dan tulis konfigurasi yang mungkin Anda butuhkan.

.pam_environmentFile saya :

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_MONETARY=pt_BR.UTF-8
LC_PAPER=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_CTYPE=pt_BR.UTF-8

Variabel LANG mengatur LC_ * yang tidak dikonfigurasi ke nilai yang dikonfigurasi di sana. Sebagai contoh:

Jika sistem mencari variabel LC_TIME, dan tidak disetel, ia akan menggunakan nilai LANG sebagai standar untuk variabel tersebut (LC_TIME dalam kasus ini).

Pada .pam_environmentdasarnya saya mengatakan: setel hampir semua variabel ke pt_BR.UTF-8dan bahasa sistem ke bahasa Inggris.

Saya harap informasi ini dapat bermanfaat.

Girol
sumber
1

Anda akan ingin menggunakan perintah pembaruan-lokal . Kunjungi halaman itu tentang cara menggunakannya. Pada dasarnya Anda menjalankannya (dengan sudo) dengan argumen yang mengatur lokal seperti yang Anda inginkan. "Modifikasi pengaturan lokal global" ini untuk kebutuhan Anda.

Sunting 1: Anda juga dapat melihat lokal-gen jika sebelumnya tidak bekerja untuk Anda.

Zzzach ...
sumber
Terima kasih. Saya sudah mencobanya. dpkg-reconfigure localesmenghasilkan semua kemungkinan kombinasi untuk bahasa Inggris dan Spanyol. Tampaknya memanggil gen lokal untuk semua kombinasi bahasa yang diinstal. Saya juga meminta locale-genbeberapa lokasi untuk berjaga-jaga. Masalahnya adalah bahwa en_ES tidak ada
Calabacin
Baiklah, saya akan terus mencari solusi. Saya sudah lama tidak melihat masalah seperti ini.
Zzzach ...
1

Seperti Freddy Vulto berkomentar dalam jawabannya, ini adalah bug yang dikenal dilaporkan di sini: https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1322968

Silakan lihat laporan bug itu jika Anda perlu memperbaikinya secara manual. Ini dapat diperbaiki dengan memanggil ~ / .kde / env / setlocale.sh (mungkin setelah memodifikasi), di antara beberapa perbaikan yang mungkin.

Calabacin
sumber
1

Solusi lain adalah dengan alias Bahasa Inggris (Spanyol) ke Bahasa Inggris (AS):

echo en_ES.UTF-8 en_US.UTF-8 >> /etc/locale.aliases

Al.
sumber
Bahkan jika ini hanya solusi, saya pikir ini pintar dan saya menyukainya. Ini kemungkinan besar bekerja juga :)
Calabacin
0

Saya berhasil sementara memperbaiki masalah dengan mengubah bahasa sistem dari Bahasa Inggris Amerika ke Bahasa Inggris Britania seperti yang disarankan di atas. Saya melakukannya melalui dialog Pengaturan Sistem KDE> Lokal> Bahasa. Yang mengherankan, ia menampilkan pesan kesalahan yang mengatakan bahwa mengganti bahasa saat ini tidak diizinkan, tetapi dalam praktiknya itu karena pengaturan baru diterapkan ketika saya menekan tombol "apply", dan menyalakan kembali mesin.

Yngvefaen
sumber
0

Saya memiliki masalah yang sama di sistem saya: Kubuntu 16.04 LTS (kernel: 4.4.0-31-generic (x86_64)). Tapi saya menyelesaikannya dengan cara yang sangat sederhana:

di " pengaturan sistem " di bawah tab " personalisasi ", klik " pengaturan regional ". pilih " Format " dari menu kanan. Di sebelah kiri periksa " pengaturan terperinci " dan ubah setiap detail seperti Angka atau Waktu ke bahasa dan wilayah yang Anda inginkan.

(pengaturan sistem> pengaturan regional> format> pengaturan terperinci)

Saya tahu ini dasar tetapi dapat bermanfaat bagi seseorang.

Jesmi
sumber
-3

Guys guys kenapa kamu menjadi gila ?? Yang Anda butuhkan adalah pergi ke bilah pencarian atau Unity Lens (jika Ubuntu) ketik "Bahasa" Anda akan menemukan Aplikasi "Negara / Wilayah & Bahasa". Di Tab "Negara" Pilih bahasa lokal yang Anda inginkan.

Jika Anda ingin mempertahankan lokal saat ini dan mengubah beberapa opsi lain seperti format tanggal, atau pengukuran imperial ke metrik, cukup gunakan tab lain! :)

Ini tersedia di distro Ubuntu 14.04 LTS dan yang lebih baru.

Dave Penembak jitu
sumber
4
Ubuntu memiliki Unity secara default. Ini adalah masalah KDE. Sama sekali tidak berhubungan. Selain itu, mengubah pengaturan regional tidak memperbaiki masalah, seperti yang dinyatakan dalam op. Masih terima kasih telah meluangkan waktu Anda untuk mencoba memperbaiki masalah ini.
Calabacin