Debian 9: Làm cách nào để đặt ngôn ngữ tiếng Anh với Tiếng địa phương Đức?


15

Tôi muốn sử dụng ngôn ngữ tiếng Anh với cài đặt ngôn ngữ tiếng Đức .


Ngay bây giờ hệ thống của tôi chạy với thiết lập sau (được định cấu hình trong quy trình cài đặt trong Debian Expert Installer):

  • Ngôn ngữ: English - English (Default)
  • Quốc gia, lãnh thổ hoặc khu vực: other -> Europe -> Austria
  • Cài đặt ngôn ngữ mặc định quốc gia trên cơ sở trên: United States - en_US.UTF-8
  • Bàn phím: German

Câu hỏi của tôi bây giờ là:

Làm cách nào tôi có thể bảo tồn ngôn ngữ tiếng Anh nhưng chuyển ngôn ngữ hiện tại ( United States - en_US.UTF-8) sang ngôn ngữ tiếng Đức mong muốn ( de_DE.UTF-8)?

Trong quá trình cài đặt, điều này là không thể vì đã xảy ra lỗi ("Đã phát hiện kết hợp cài đặt ngôn ngữ / ngôn ngữ không hợp lệ").



Tôi chỉ tìm cách thiết lập tiếng Anh với ngôn ngữ Hà Lan (cùng một vấn đề) và lần truy cập đầu tiên của Google là cái này. StackExchange sống lâu :-)
Tonny

1
Tìm thấy điều này trong "câu hỏi mạng nóng" và bây giờ tôi quan tâm: Bạn đang cố gắng đạt được điều gì? Tiếng Anh, nhưng với một số từ khác nhau dành riêng cho người nói tiếng Đức? Giống như "Tôi vừa tham gia kỳ thi Abitur" hoặc "Đây là chuyến tàu từ Deutsche Bahn"?
Fabian Röling

@Fabian Tôi nghi ngờ trường hợp sử dụng ở đây là có tin nhắn tiếng Anh, nhưng định dạng ngày tháng của Đức, v.v.
Stephen Kitt

Câu trả lời:


16

en_DEkhông tồn tại dưới dạng ngôn ngữ mặc định, vì vậy bạn không thể chọn tiếng Anh được bản địa hóa cho các quốc gia nói tiếng Đức làm ngôn ngữ trong khi cài đặt. ( Tại sao người ta nên sử dụng ngôn ngữ cập nhật thay vì trực tiếp cài đặt LANGUAGE? Mô tả các kiểm tra liên quan đến việc chọn ngôn ngữ.)

Có hai cách tiếp cận để đạt được những gì bạn đang theo đuổi.

  1. Một là tạo một miền địa phương mới với các cài đặt của bạn; xem Làm thế nào để (dễ dàng) có thể sử dụng ngôn ngữ en _ ** mới? để biết chi tiết.
  2. Cách khác là thiết lập cài đặt ngôn ngữ của bạn theo kiểu chi tiết hơn, sử dụng các LC_biến khác nhau ; ví dụ:

    export LANG=en_US.UTF-8
    export LC_MONETARY=de_DE.UTF-8
    export LC_TIME=de_DE.UTF-8
    

    hoặc, nếu bạn muốn tiếng Đức là mặc định ngoại trừ tin nhắn:

    export LANG=de_DE.UTF-8
    export LC_MESSAGES=en_US.UTF-8
    

    (và bỏ đặt bất kỳ LC_biến xung đột nào khác , đặc biệt là LC_ALLghi đè tất cả các cài đặt khác). Bạn có thể kiểm tra cài đặt của mình bằng localechương trình; xem chương trình "miền địa phương" hoạt động như thế nào? để biết chi tiết.


Vì LANG chỉ là một dự phòng, đề xuất của bạn không hoạt động trong trường hợp có các biến LC_ * khác.
schily

1
Vâng, đó là toàn bộ quan điểm của việc sử dụng LANGở đây, nhưng tôi đã làm rõ điều đó, cảm ơn.
Stephen Kitt

Cảm ơn rất nhiều vì sự giúp đỡ tuyệt vời của bạn Stephen! Trước tiên tôi có phải tạo miền địa phương Đức trước khi tôi có thể nhập nó vào /etc/default/localekhông? Tôi đoán ngay bây giờ tôi chỉ tồn tại địa phương Hoa Kỳ, vì vậy tôi sợ de_DE.UTF-8chưa có sẵn trên hệ thống của mình?
Dave

2
@Dave bạn sẽ cần làm cho nó có sẵn, có, bằng cách chạy sudo dpkg-reconfigure localeshoặc bằng cách cài đặt locales-all. Bạn không nên chỉnh sửa /etc/default/localetrực tiếp mà sử dụng update-localethay thế (xem liên kết đầu tiên trong câu trả lời).
Stephen Kitt

@StephenKitt cảm ơn! Bạn có thể cho tôi một con trỏ về nơi thêm các lệnh xuất vào (trên archlinux) để làm cho chúng có sẵn cho tất cả các chương trình và được đặt khi khởi động không?
bonanza
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.