Is it possible to set the output language of shell commands to anything other than English?
Solution 1:
If you change LC_MESSAGES
, it changes the language of error and help messages shown by bash, but only a part of them are translated for many languages:
$ 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 and iTerm 2 set LANG
(which changes all actual locale variables like LC_MESSAGES
) based on the region selected in System Preferences by default.
Some GNU/Linux distributions come with man pages in other languages than English, but OS X doesn't. Some Homebrew packages add localized man pages to /usr/local/share/man/
though:
$ 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
You could for example copy /usr/share/man/de/
from a Ubuntu VM to OS X, but only a small part of the man pages are translated:
ubuntu:~$ find /usr/share/man/de -type f|wc -l
113
ubuntu:~$ find /usr/share/man/man* -type f|wc -l
2857