如何将语言环境更改为英语?

如何将语言环境更改为英语?

我有来自 bash 的消息,它已本地化,我想要英文消息,我的区域设置是:

$ locale
LANG=pl_PL.UTF-8
LANGUAGE=pl:en
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC=pl_PL.UTF-8
LC_TIME=pl_PL.UTF-8
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY=pl_PL.UTF-8
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER=pl_PL.UTF-8
LC_NAME=pl_PL.UTF-8
LC_ADDRESS=pl_PL.UTF-8
LC_TELEPHONE=pl_PL.UTF-8
LC_MEASUREMENT=pl_PL.UTF-8
LC_IDENTIFICATION=pl_PL.UTF-8
LC_ALL=

我尝试过:

LANG=en_US.UTF-8; type grunt
LC_ALL=en_US.UTF-8; type grunt
LC_MESSAGES=en_EN.UTF-8 && type grunt
export LC_MESSAGES=en_US.UTF-8; type grunt 

但该消息不断以波兰语出现:

ścieżka do grunt jest zapamiętana (/usr/local/bin/grunt)

我怎样才能把这篇文章变成英文?

编辑

我跑过:

$ eval $(locale | sed -e 's/\(.*\)=.*/export \1=en_US.UTF-8/')             
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

并输入 grunt show Polish 消息。

答案1

问题是你的分号/ &&。按照您执行此操作的方式,外壳程序将您的分配作为单独的命令执行。因此,type永远不会看到它。这样做:

LC_ALL=en_US.UTF-8 type grunt

这告诉您的 shell 临时设置环境变量LC_ALL=en_US.UTF-8,执行type,然后重置LC_ALL为之前的值。

相关内容