更改本地化

更改本地化

我可以通过 SSH 访问 CentOS 6.3 机器。

SSH 上的一些结果,我认为整个操作系统已本地化为葡萄牙语。

例如,当我输入日期时,我得到

Sex Fev 15 02:35:48 WET 2013

代替

Fri Feb 15... bla bla

时区是正确的,但葡萄牙语的本地化给我使用日期的脚本带来了问题,因为它们没有将其识别为日期。

如何将日期改回英文格式?

谢谢。


编辑:输入语言环境给了我这个

LANG=pt_PT.UTF-8
LC_CTYPE="pt_PT.UTF-8"
LC_NUMERIC="pt_PT.UTF-8"
LC_TIME="pt_PT.UTF-8"
LC_COLLATE="pt_PT.UTF-8"
LC_MONETARY="pt_PT.UTF-8"
LC_MESSAGES="pt_PT.UTF-8"
LC_PAPER="pt_PT.UTF-8"
LC_NAME="pt_PT.UTF-8"
LC_ADDRESS="pt_PT.UTF-8"
LC_TELEPHONE="pt_PT.UTF-8"
LC_MEASUREMENT="pt_PT.UTF-8"
LC_IDENTIFICATION="pt_PT.UTF-8"
LC_ALL=

答案1

您可以将 LC_ALL 变量设置为英语语言环境。这是一个例子:

export LC_ALL=en_US.UTF-8

计算机上必须存在区域设置。如果不是,您可以回退到 POSIX C 语言环境:

export LC_ALL=C

POSIX规范描述区域设置变量应该如何工作。

答案2

环境中有三个级别的区域设置:

  • 如果LC_ALL设定了,它就胜过一切。
  • 如果LC_xxx它设置并LC_ALL取消设置某个变量,则 的值LC_xxx适用于该类别。
  • 如果既没有设置LC_ALL也没有相关设置LC_xxx,则$LANG适用。
  • 如果以上都不适用,则区域设置为C(这是最基本的、简单的区域设置)。

作为用户,您可以使用 定义LANG和覆盖特定设置LC_xxx。例如,要在葡萄牙语语言环境中工作(英国日期除外):

export LANG=pt_PT.UTF-8 LC_TIME=en_UK.UTF-8

(将其放入您的 中~/.profile。)

您可以不设置LANG,而只设置您感兴趣的类别。例如,要获取葡萄牙语消息并使用 UTF-8 字符集,但将其他格式保留为其默认值:

unset LANG
export LC_MESSAGES=pt_PT.UTF-8 LC_CTYPE=pt_PT.UTF-8

如果您需要运行无法应对区域设置变化的程序,请在该C区域设置中运行它。

LC_ALL=C troublesome_script

相关内容