Làm cách nào để thay đổi / sửa lỗi ngôn ngữ của hệ thống khi bạn thiết lập ngôn ngữ không chính thức ở quốc gia của bạn?


16

Làm cách nào để thiết lập ngôn ngữ toàn cầu cho máy tính?

Gần đây tôi đã cài đặt Kubfox 14.04LTS bằng tiếng Anh nhưng vì tôi ở Tây Ban Nha, tôi đã chọn Tây Ban Nha làm quốc gia và sau đó thay đổi tùy chọn ngôn ngữ để tôi có được tất cả cấu hình cụ thể của quốc gia như nhóm chữ số, dấu tách thập phân, định dạng ngày, v.v. thêm tiếng Tây Ban Nha.

Bây giờ tất cả các ứng dụng phàn nàn rằng miền địa phương là sai. check-language-supportnói với tôi rằng tôi đang sử dụng en_ES.UTF-8như ngôn ngữ của hệ thống và ngôn ngữ đó thực sự sai, không có ngôn ngữ nào cho tiếng Anh ở Tây Ban Nha.

Tôi đã thử sử dụng cài đặt ngôn ngữ / vùng và quốc gia của Kubfox nhưng không khắc phục được. Tôi đã thử sử dụng export LANG=en_GB.UTF-8export LC_ALL=en_GB.UTF-8sau đó sudo dpkg-reconfigure localesvà điều đó có check-language-supportnghĩa là bây giờ tôi có một cấu hình chính xác nhưng nếu có, nó chỉ trong phiên konsole đó. Vấn đề này cũng ngăn konsole hiển thị các ký tự unicode và tôi không thể sử dụng các phím chết hoặc nhập bất kỳ 'ký tự quốc tế' nào như ñ hoặc ç (những ứng dụng này hoạt động trên các ứng dụng khác như Firefox, mà tôi đang sử dụng để đăng câu hỏi này).

Vì vậy, câu hỏi là: Làm thế nào để tôi thiết lập một ngôn ngữ toàn cầu cho máy tính?

Đây không phải là một báo cáo lỗi, tôi có thể sẽ cài đặt lại máy tính của mình sau khi tôi không thể sửa nó. Nhưng tôi thực sự muốn biết làm thế nào tôi có thể thực hiện nhiệm vụ cơ bản THỰC SỰ này.

Cảm ơn bạn.

$ 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").

Câu trả lời:


9

Lỗi được báo cáo ở đây: https://bugs.launchpad.net/ubfox/+source/kde-r nb / + bug / 1322968 - "Thay đổi quốc gia dẫn đến ngôn ngữ không hợp lệ"

Cách giải quyết:

  1. Chọn quốc gia Anh Anh - không phải tiếng Anh Mỹ (và sau đó là ngôn ngữ Tây Ban Nha)
  2. Hoặc chỉnh sửa thủ công ~/.kde/env/setlocale.shsau khi thay đổi cài đặt Quốc gia / Vùng & Ngôn ngữ

8

Tôi đã giải quyết vấn đề này theo các bước dưới đây. Tôi đã nghiên cứu cách các địa phương hoạt động và các bộ cấu hình khác nhau giữa một số bản phân phối (ban đầu dựa trên Debian).

Tôi sử dụng Linux Mint làm phân phối hệ thống chính và Debian làm máy chủ hệ thống của mình.

Mặc dù thực tế Ubuntu có nguồn gốc từ Debian, các cài đặt ngôn ngữ hơi khác nhau.

1) Xác minh địa điểm nào được cài đặt và tạo trong hệ thống của bạn:

sudo locale -a

2) xóa các địa điểm không mong muốn bằng cách sử dụng lệnh sau:

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

ví dụ:

sudo localedef --delete-from-archive en_AG

Cấu hình mặc định nằm trong /etc/default/localebị ghi đè bởi cài đặt cá nhân (chỉ người dùng cục bộ) được tạo bởi Ứng dụng Ngôn ngữ hệ thống. Các cài đặt này được đặt trong $HOME/.pam_environment( $HOME= Vị trí của thư mục nhà của bạn).

Làm trống tập tin này và viết các cấu hình bạn có thể cần.

.pam_environmentTập tin của tôi

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

Biến LANG đặt LC_ * không được cấu hình thành tập giá trị được cấu hình ở đó. Ví dụ:

Nếu hệ thống tìm kiếm biến LC_TIME và nó không được đặt, nó sẽ sử dụng giá trị LANG làm mặc định cho biến đó (LC_TIME trong trường hợp này).

.pam_environmentVề cơ bản, tôi nói: đặt hầu hết tất cả các biến pt_BR.UTF-8và ngôn ngữ hệ thống sang tiếng Anh.

Tôi hy vọng thông tin này có thể được sử dụng.


1

Bạn sẽ muốn sử dụng lệnh update-locale . Ghé thăm trang đó về cách sử dụng nó. Về cơ bản, bạn chạy nó (với sudo) với các đối số thiết lập miền địa phương theo cách bạn muốn. Điều này "Modif [ies] cài đặt ngôn ngữ toàn cầu" theo yêu cầu của bạn.

Chỉnh sửa 1: Bạn cũng có thể xem xét ngôn ngữ địa phương nếu trước đó không phù hợp với bạn.


Cảm ơn bạn. Tôi đã thử nó. dpkg-reconfigure localestạo ra tất cả các kết hợp có thể cho tiếng Anh và tiếng Tây Ban Nha. Nó dường như gọi locale-gen cho tất cả các kết hợp ngôn ngữ được cài đặt. Tôi cũng gọi locale-gencho một số địa phương chỉ trong trường hợp. Vấn đề là en_ES không tồn tại
Calabacin

Rất tốt, tôi sẽ tiếp tục tìm kiếm giải pháp. Tôi đã không thấy một vấn đề như thế này trong một thời gian dài.
Zzzach ...

1

Giống như Freddy Vulto đã nhận xét trong câu trả lời của mình, đây là một lỗi đã biết được báo cáo ở đây: https://bugs.launchpad.net/ubfox/+source/kde-r nb / +bug / 322968

Vui lòng xem báo cáo lỗi đó nếu bạn cần sửa nó bằng tay. Nó có thể được gọi cố định ~ / .kde / env / setlocale.sh (có thể sau khi sửa đổi), trong số các bản sửa lỗi có thể khác.


1

Một giải pháp khác là bí danh tiếng Anh (Tây Ban Nha) sang tiếng Anh (Mỹ):

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


Ngay cả khi đây chỉ là một cách giải quyết, tôi nghĩ nó thông minh và tôi thích nó. Nó rất có thể hoạt động quá :)
Calabacin

0

Tôi đã cố gắng khắc phục tạm thời sự cố bằng cách thay đổi ngôn ngữ hệ thống từ tiếng Anh Mỹ sang tiếng Anh Anh như đề xuất ở trên. Tôi đã thực hiện thông qua hộp thoại Cài đặt hệ thống KDE> Địa điểm> Ngôn ngữ. Thật thú vị, nó hiển thị một thông báo lỗi nói rằng việc thay thế ngôn ngữ hiện tại là không được phép, nhưng thực tế là do cài đặt mới được áp dụng khi tôi nhấn nút "áp dụng" và khởi động lại máy.


0

Tôi đã gặp vấn đề tương tự trong hệ thống của mình: Kubfox 16.04 LTS (kernel: 4.4.0-31-generic (x86_64)). Nhưng tôi đã giải quyết nó theo cách rất đơn giản:

trong " cài đặt hệ thống " trong tab " cá nhân hóa ", nhấp vào " cài đặt khu vực ". chọn " Định dạng " từ menu bên phải. Trong phần bên trái, kiểm tra " cài đặt chi tiết " và thay đổi mọi chi tiết như Số hoặc Thời gian sang ngôn ngữ và khu vực bạn muốn.

(cài đặt hệ thống> cài đặt khu vực> định dạng> cài đặt chi tiết)

Tôi biết nó là sơ cấp nhưng có thể hữu ích cho ai đó.


-3

Các bạn ơi tại sao bạn lại phát điên ?? Tất cả những gì bạn cần là vào thanh Tìm kiếm hoặc Unity Lens (nếu Ubuntu) gõ "Ngôn ngữ", bạn sẽ tìm thấy Ứng dụng "Quốc gia / Vùng & Ngôn ngữ". Trong tab "Quốc gia" Chọn ngôn ngữ địa phương bạn muốn.

Nếu bạn muốn giữ ngôn ngữ hiện tại và thay đổi một số tùy chọn khác như định dạng ngày hoặc mệnh lệnh thành số đo, chỉ cần sử dụng các tab khác! :)

Điều này có sẵn trong Ubuntu distro 14.04 LTS trở lên.


4
Ubuntu có Unity theo mặc định. Đây là một vấn đề KDE. Hoàn toàn không liên quan. Ngoài ra, việc thay đổi cài đặt khu vực không khắc phục được sự cố, như đã nêu trong op. Vẫn cảm ơn bạn đã dành thời gian của bạn để cố gắng khắc phục vấn đề này.
Calabacin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.