Locale

如何將語言環境更改為英語?

  • March 26, 2014

我收到來自 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 顯示波蘭消息。

問題是你的分號 / &&。你這樣做的方式是,shell 將你的分配作為一個單獨的命令執行。因此,type從未見過它。改為這樣做:

LC_ALL=en_US.UTF-8 type grunt

這告訴您的 shell 臨時設置環境變數LC_ALL=en_US.UTF-8,執行type,然後重置LC_ALL為之前的值。

引用自:https://unix.stackexchange.com/questions/121420