É possível definir o idioma de saída dos comandos do shell para algo diferente de inglês?


9

Estou correto em minha suposição de que a Shell comandos como cp, man, ls, etc. sempre imprimir suas mensagens em Inglês independentemente das configurações de sistema e do usuário, e também mensagens de shell padrão como "comando não encontrado" não é localizável?

Em Preferências do Sistema> Idioma e Texto, tentei alterar o idioma, a região e a fonte de entrada para um idioma / localidade diferente. Eu também tentei correr sudo languagesetup. Nada parece afetar o idioma dos comandos do shell, então acho que deve ser codificado para o inglês, mas não consegui encontrar nenhuma referência na internet. Se isso não estiver correto, como você altera o idioma do shell no OS X?


Eu acho que o localecomando pode ajudá-lo. Eu não tenho sido capaz de fazê-lo funcionar com sucesso, mas aqui estão algumas instruções que podem ajudar a começar: linuxspy.com/1850/how-to-change-the-bash-shell-language
alexwlchan

Respostas:


7

Se você alterar LC_MESSAGES, ele altera o idioma do erro e as mensagens de ajuda mostradas pelo bash, mas apenas uma parte delas é traduzida para vários idiomas:

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

Conjunto de terminais e iTerm 2 LANG(que altera todas as variáveis ​​de localidade reais como LC_MESSAGES) com base na região selecionada em Preferências do sistema por padrão.

Algumas distribuições GNU / Linux vêm com páginas de manual em outros idiomas além do inglês, mas o OS X não. Alguns pacotes Homebrew adicionam páginas de manual localizadas a /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

Você pode, por exemplo, copiar /usr/share/man/de/de uma VM do Ubuntu para o OS X, mas apenas uma pequena parte das páginas de manual é traduzida:

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

1
Em uma festa simples 3.2 no Mountain Lion, a configuração LC_MESSAGESnão mudaria o idioma de nenhuma mensagem. As mensagens em alemão devem ser provavelmente uma adição ao Homebrew.
GOTO 0

@ ft1 Oh, você está certo. Estou usando o bash 4.2. Talvez essas traduções tenham sido adicionadas no bash 4.0 ou posterior ou talvez não tenham sido incluídas na versão do bash 3.2 incluída no OS X.
Lri
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.