Có thể đặt ngôn ngữ đầu ra của lệnh shell thành bất cứ thứ gì ngoài tiếng Anh không?


9

Tôi thích hợp trong giả định của tôi rằng vỏ lệnh như cp, man, lsvv luôn in thông điệp của họ bằng tiếng Anh bất kể thiết lập hệ thống và người sử dụng, và cũng có thông điệp vỏ tiêu chuẩn như "không tìm thấy lệnh" không thể bản địa hóa?

Trong Tùy chọn hệ thống> Ngôn ngữ & văn bản, tôi đã thử thay đổi ngôn ngữ, khu vực và nguồn đầu vào sang ngôn ngữ / ngôn ngữ khác. Tôi cũng đã thử chạy sudo languagesetup. Dường như không có gì ảnh hưởng đến ngôn ngữ của các lệnh shell, vì vậy tôi đoán nó phải được mã hóa cứng sang tiếng Anh, nhưng tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào trên internet. Nếu điều này không đúng, làm thế nào để bạn thay đổi ngôn ngữ shell trong OS X?


Tôi nghĩ rằng localelệnh có thể giúp bạn. Tôi chưa thể làm cho nó hoạt động thành công, nhưng đây là một số hướng dẫn có thể giúp bạn bắt đầu: linuxspy.com/1850/how-to-change-the-bash-shell-lingu
alexwlchan

Câu trả lời:


7

Nếu bạn thay đổi LC_MESSAGES, nó sẽ thay đổi ngôn ngữ lỗi và thông báo trợ giúp được hiển thị bằng bash, nhưng chỉ một phần trong số chúng được dịch cho nhiều ngôn ngữ:

$ export LC_MESSAGES=de_DE.UTF-8
$ aa
bash: aa: Kommando nicht gefunden.
$ help alias
alias: alias [-p] [Name[=Wert] ... ]
    Definiert Aliase oder zeigt sie an.

    Ohne Argumente wird die Liste der Aliase (Synonyme) in der Form
    `alias Name=Wert' auf die Standardausgabe gedruckt.

    Sonst wird ein Alias für jeden angegebenen Namen definiert, für den ein
    Wert angegeben wurde.
    A trailing space in VALUE causes the next word to be checked for
    alias substitution when the alias is expanded.

    Options:
      -p    Print all defined aliases in a reusable format

    Rückgabewert:
    Meldet Erfolg, außer wenn NAME nicht existiert.

Thiết lập Terminal và iTerm 2 LANG(thay đổi tất cả các biến cục bộ thực tế như LC_MESSAGES) dựa trên khu vực được chọn trong Tùy chọn hệ thống theo mặc định.

Một số bản phân phối GNU / Linux đi kèm với các trang man bằng các ngôn ngữ khác ngoài tiếng Anh, nhưng OS X thì không. Một số gói Homebrew thêm các trang man được bản địa hóa vào /usr/local/share/man/mặc dù:

$ LC_MESSAGES=de_DE.UTF-8 man -w ps2pdf
/usr/local/share/man/de/man1/ps2pdf.1
$ LC_MESSAGES=de_DE.UTF-8 man ps2pdf|head
PS2PDF(1)                         Ghostscript                        PS2PDF(1)



NAME
       ps2pdf - konvertiert PostScript nach PDF mittels ghostscript
       ps2pdf12 - konvertiert PostScript nach PDF 1.2 (kompatibel zu Acrobat 3
       und spAxter) mittels ghostscript
       ps2pdf13 - konvertiert PostScript nach PDF 1.3 (kompatibel zu Acrobat 4
       und spAxter) mittels ghostscript

Ví dụ, bạn có thể sao chép /usr/share/man/de/từ máy ảo Ubuntu sang OS X, nhưng chỉ một phần nhỏ trong các trang hướng dẫn được dịch:

ubuntu:~$ find /usr/share/man/de -type f|wc -l
113
ubuntu:~$ find /usr/share/man/man* -type f|wc -l
2857

1
Trong một bash 3.2 đơn giản trên Mountain Lion, cài đặt LC_MESSAGESsẽ không thay đổi ngôn ngữ của bất kỳ tin nhắn nào. Các tin nhắn bằng tiếng Đức có lẽ là một bổ sung Homebrew.
GOTO 0

@ ft1 Ồ, bạn nói đúng. Tôi đang sử dụng bash 4.2. Có thể những bản dịch đó đã được thêm vào bash 4.0 trở lên hoặc có thể chúng không được bao gồm trong phiên bản bash 3.2 được bao gồm trong OS X.
Lri
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.