【发布时间】:2012-07-17 10:56:04
【问题描述】:
我的ˋgitˋ是德语,上面写着:
ˋ奥夫茨威格大师ˋ
而不是
On branch master
git status。
这是什么原因?
【问题讨论】:
标签: linux git command-line terminal
我的ˋgitˋ是德语,上面写着:
ˋ奥夫茨威格大师ˋ
而不是
On branch master
git status。
这是什么原因?
【问题讨论】:
标签: linux git command-line terminal
原因是您的命令行语言设置为德语。 所以当你这样做时:
echo $LANG
你会看到:
de_DE.UTF-8
要改变这一点,请执行以下操作:
echo "export LANG=en_US.UTF-8" >> ~/.bashrc
假设您的标准 shell 是 bash。
别忘了:
source ~/.bashrc
【讨论】:
您的语言环境可能是德语。您可以通过locale 看到它。尝试通过以下方式更改它:export LANG="en_US.UTF-8"
【讨论】:
export LANGUAGE=en_US:en
有时仅更改LANG 环境变量是不够的。
您可能还需要添加LC_ALL
export LC_ALL=en_US.UTF-8
根据IEEE and The Open Group - Environment Variables.
这是因为以LC_* 开头的环境变量将在LANG 之前被您的系统首先使用:
语言环境类别的值应由优先级确定 订购;下面满足的第一个条件确定值:
如果 LC_ALL 环境变量已定义且不为空,则 应使用 LC_ALL 的值。
如果 LC_* 环境变量(LC_COLLATE、LC_CTYPE、LC_MESSAGES、 LC_MONETARY, LC_NUMERIC, LC_TIME) 已定义且不为空,则 环境变量的值用于初始化 与环境变量对应的类别。
如果 LANG 环境变量已定义且不为空,则 应使用 LANG 环境变量的值。
如果 LANG 环境变量未设置或设置为空 字符串,应使用实现定义的默认语言环境。
要永久更改它,您需要将上面的代码粘贴到您喜欢的shell配置文件中(可能是~/.bashrc或~/.zshrc)
然后应用修改:
$ source ~/.bashrc
或
$ source ~/.zshrc
否则,只需打开一个新终端。
【讨论】:
就我而言,设置LANG 或LC_ALL 是不够的。我还有一个设置为en_GB:en_US:de 的LANGUAGE 环境变量。尽管排序可能是优先顺序,但它还是导致了来自git 和其他命令行程序的德语响应。当我改成en_GB:en_US,git等程序都变成英文了。
【讨论】:
alias git="LANGUAGE=en_GB:en_US git" 添加到他们的.bashrc (没有< 或> 标志!)