可以将shell命令的输出语言设置为英语以外的其他语言吗?


9

我在我的假设纠正shell命令,例如cpmanls等随时打印自己的英文邮件,不管系统和用户设置,而像“命令未找到”也是标准的外壳消息是不可本地化?

在“系统偏好设置”>“语言和文本”中,我尝试将语言,区域和输入源更改为其他语言/地区。我也试过跑步sudo languagesetup。似乎什么都不会影响Shell命令的语言,因此我想它必须用硬编码为英文,但是我在互联网上找不到任何参考。如果这不正确,如何在OS X中更改外壳语言?


我认为该locale命令可能会对您有所帮助。我一直无法使它成功运行,但是以下一些说明可能会帮助您入门:linuxspy.com/1850/how-to-change-the-bash-shell-language
alexwlchan

Answers:


7

如果您进行了更改LC_MESSAGES,它将更改bash显示的错误和帮助消息的语言,但是其中只有一部分被翻译为多种语言:

$ 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和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不会更改任何消息的语言。德文中的消息可能必须是自制的。
GOTO

@ ft1哦,对了。我正在使用bash 4.2。也许这些翻译是在bash 4.0或更高版本添加或者他们没有被列入附带OS X. bash的3.2版本
LRI
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.