È possibile impostare la lingua di output dei comandi della shell su qualsiasi cosa diversa dall'inglese?

9

Sono corretto nel mio assunto che i comandi di shell come cp , man , ls , ecc. stampino sempre i loro messaggi in inglese indipendentemente dal sistema e dalle impostazioni utente, e anche i messaggi standard della shell come "comando non trovato "non sono localizzabili?

In Preferenze di Sistema > Lingua e amp; Testo, ho provato a cambiare lingua, regione e sorgente di input in un'altra lingua / locale. Ho anche provato a eseguire sudo languagesetup . Nulla sembra influenzare il linguaggio dei comandi della shell, quindi suppongo che debba essere codificato in inglese, ma non ho trovato alcun riferimento su Internet. Se questo non è corretto, come cambi la lingua della shell in OS X?

    
posta GOTO 0 01.09.2013 - 15:34
fonte

1 risposta

7

Se cambi LC_MESSAGES , cambia la lingua dell'errore e aiuta i messaggi mostrati da bash, ma solo una parte di essi è tradotta in molte lingue:

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

Terminale e iTerm 2 impostate LANG (che modifica tutte le attuali variabili locali come LC_MESSAGES ) in base alla regione selezionata in Preferenze di Sistema per impostazione predefinita.

Alcune distribuzioni GNU / Linux hanno pagine man in altre lingue oltre all'inglese, ma OS X no. Alcuni pacchetti Homebrew aggiungono pagine man localizzate a /usr/local/share/man/ però:

$ 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

Potresti ad esempio copiare /usr/share/man/de/ da una VM Ubuntu a OS X, ma solo una piccola parte delle pagine man sono tradotte:

ubuntu:~$ find /usr/share/man/de -type f|wc -l
113
ubuntu:~$ find /usr/share/man/man* -type f|wc -l
2857
    
risposta data 02.09.2013 - 08:46
fonte

Leggi altre domande sui tag