쉘 명령의 출력 언어를 영어 이외의 언어로 설정할 수 있습니까?


9

나는 껍질과 같은 명령을 나의 가정, 내가 잘못 알고 cp, man, ls, 등에 관계없이 항상 시스템 및 사용자 설정을 영어로 자신의 메시지를 인쇄 "명령을 찾을 수 없습니다"와 같은 또한 표준 쉘 메시지 지역화하지?

시스템 환경 설정> 언어 및 텍스트에서 언어, 지역 및 입력 소스를 다른 언어 / 로케일로 변경하려고했습니다. 나는 또한 달리기를 시도했다 sudo languagesetup. 쉘 명령의 언어에는 영향을 미치지 않는 것 같으므로 영어로 하드 코딩해야하지만 인터넷에서 참조를 찾을 수는 없습니다. 이것이 올바르지 않은 경우, OS X에서 쉘 언어를 어떻게 변경합니까?


locale명령이 도움이 될 것 같아요 . 나는 그것을 성공적으로 작동시킬 수 없었지만 여기에 당신을 시작할 수있는 몇 가지 지침이 있습니다 : linuxspy.com/1850/how-to-change-the-bash-shell-language
alexwlchan

답변:


7

를 변경하면 LC_MESSAGESbash로 표시되는 오류 및 도움말 메시지 언어가 변경되지만 그중 일부만 많은 언어로 번역됩니다.

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

기본적으로 시스템 환경 설정에서 선택한 지역을 기반으로 터미널 및 iTerm 2 세트 LANG(와 같은 실제 로케일 변수가 모두 변경됨 LC_MESSAGES)

일부 GNU / Linux 배포판에는 영어 이외의 다른 언어로 된 맨 페이지가 있지만 OS X에서는 그렇지 않습니다. 일부 Homebrew 패키지는 현지화 된 매뉴얼 페이지를 추가합니다 /usr/local/share/man/.

$ 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

예를 들어 /usr/share/man/de/Ubuntu VM에서 OS X로 복사 할 수 있지만 매뉴얼 페이지의 일부만 번역됩니다.

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

1
Mountain Lion의 일반 bash 3.2에서 설정 LC_MESSAGES은 메시지의 언어를 변경하지 않습니다. 독일어로 된 메시지는 아마도 Homebrew 추가 일 것입니다.
GOTO 0

@ ft1 아, 맞아. bash 4.2를 사용하고 있습니다. 이러한 번역은 bash 4.0 이상에서 추가되었거나 OS X에 포함 된 bash 3.2 버전에는 포함되어 있지 않을 수 있습니다.
Lri
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.