我有来自 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=
Run Code Online (Sandbox Code Playgroud)
我试过:
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
Run Code Online (Sandbox Code Playgroud)
但是该消息一直以波兰语显示:
?cie?ka do grunt jest zapami?tana (/usr/local/bin/grunt)
Run Code Online (Sandbox Code Playgroud)
我怎样才能把这个文本变成英文?
编辑
我跑了:
$ 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
Run Code Online (Sandbox Code Playgroud)
并输入 grunt 显示波兰语消息。
问题是你的分号/ &&
。您这样做的方式是,shell 将您的任务作为单独的命令执行。因此,type
永远不会看到它。改为这样做:
LC_ALL=en_US.UTF-8 type grunt
Run Code Online (Sandbox Code Playgroud)
这告诉你的 shell 临时设置环境变量LC_ALL=en_US.UTF-8
,执行type
,然后重置LC_ALL
为之前的任何内容。
归档时间: |
|
查看次数: |
3954 次 |
最近记录: |