¿Es posible establecer el idioma de salida de los comandos de shell en algo que no sea el inglés?

9

¿Tengo razón al suponer que los comandos de shell como cp , man , ls , etc. siempre imprimen sus mensajes en inglés independientemente de la configuración del sistema y del usuario, y también los mensajes estándar de shell como "comando no encontrado "no son localizables?

En Preferencias del sistema > Idioma & Texto, intenté cambiar el idioma, la región y la fuente de entrada a un idioma / entorno local diferente. También intenté correr sudo languagesetup . Nada parece afectar el idioma de los comandos de shell, por lo que supongo que debe estar codificado al inglés, pero no pude encontrar ninguna referencia en Internet. Si esto no es correcto, ¿cómo cambia el lenguaje de shell en OS X?

    
pregunta GOTO 0 01.09.2013 - 15:34

1 respuesta

7

Si cambia LC_MESSAGES , cambia el idioma de error y los mensajes de ayuda mostrados por bash, pero solo una parte de ellos se traduce para muchos 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.

Terminal e iTerm 2 configuran LANG (que cambia todas las variables de la configuración regional real como LC_MESSAGES ) en función de la región seleccionada en Preferencias del sistema de forma predeterminada.

Algunas distribuciones de GNU / Linux vienen con páginas de manual en otros idiomas además del inglés, pero OS X no. Algunos paquetes de Homebrew agregan páginas de manual localizadas a /usr/local/share/man/ aunque:

$ 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

Por ejemplo, podría copiar /usr/share/man/de/ de una máquina virtual de Ubuntu a OS X, pero solo una pequeña parte de las páginas man están traducidas:

ubuntu:~$ find /usr/share/man/de -type f|wc -l
113
ubuntu:~$ find /usr/share/man/man* -type f|wc -l
2857
    
respondido por el user495470 02.09.2013 - 08:46

Lea otras preguntas en las etiquetas