在当前 shell 中更改 LANG 变量

Jig*_*ano 2 centos

在 CentOS 8 上,当我尝试将 LANG 变量更改为意大利语时,它不会更改。这是我正在做的一个例子。

LANG=it_IT.UTF-8
Run Code Online (Sandbox Code Playgroud)

然后,如果我这样做,ls --help我仍然用英语显示结果。

谢谢你。

Sté*_*las 10

要使其工作,需要做几件事:

  • it_IT.UTF-8区域必须是可用的系统。查看locale -a | grep it
  • 相应应用程序的意大利语翻译必须可用(对于 GNU ls,通常/usr/share/locale/it/LC_MESSAGES/coreutils.mo类似于 CentOS 等 GNU 系统)。
  • 必须将LANG变量导出到环境中ls才能访问它 ( export LANG)。
  • 对于消息语言设置,在 GNU 系统上,$LANGUAGE它优先于LANGLC_*变量(除非LC_MESSAGELANGLC_ALL设置为 C/POSIX 语言环境)。因此,如果您有LANGUAGE=fr:en:it,即使您将其他所有内容都设置为 ,您也会收到法语消息(如果可用)it_IT.UTF-8
  • 该消息语言设置,LC_MESSAGES优先LANGLC_ALL优先级高于一切(除了LANGUAGE除非它是C/POSIX就像上面说的)。

的输出locale应该为您提供当前设置的摘要。env -i | grep -e LANG -e LC_应该为您提供当前设置的与语言环境相关的环境变量的列表。