我的git是德语,它说:再见茨威格大师而不是On branch mastergit status。这是什么原因呢?
On branch master
git status
dbf7pr2w1#
你的位置可能是德国。你可以通过locale看到它。尝试通过以下方式更改:export LANG="en_US.UTF-8"
locale
export LANG="en_US.UTF-8"
yc0p9oo02#
原因是您的命令行语言设置为德语。所以当你这样做的时候:
echo $LANG
你会看到:
de_DE.UTF-8
要更改此设置,请执行以下操作:
echo "export LANG=en_US.UTF-8" >> ~/.bashrc
假设你的标准shell是bash。别忘了:
source ~/.bashrc
sy5wg1nm3#
有时候,仅仅改变LANG环境变量是不够的。您可能还需要添加LC_ALL
LANG
LC_ALL
export LC_ALL=en_US.UTF-8
根据IEEE and The Open Group - Environment Variables。因为从LC_*开始的环境变量会在LANG之前被你的系统先使用:
LC_*
语言环境类别的值应按优先顺序确定;下面满足的第一个条件确定该值:
1.如果定义了LC_ALL环境变量且不为空,则应使用LC_ALL的值。1.如果LC_* 环境变量(LC_COLLATE、LC_CTYPE、LC_MESSAGES、LC_MONETARY、LC_NUMERIC、LC_TIME)已定义且不为空,则应使用环境变量的值来初始化与环境变量对应的类别。1.如果定义了LANG环境变量且该变量不为空,则应使用LANG环境变量的值。1.如果LANG环境变量未设置或设置为空字符串,则应使用实现定义的默认区域设置。要永久更改它,您需要将上面的代码粘贴到您最喜欢的shell配置文件(可能是~/.bashrc或~/.zshrc)中。然后,要应用修改,请执行以下操作:
~/.bashrc
~/.zshrc
$ source ~/.bashrc
或
$ source ~/.zshrc
否则,只需打开一个新的终端。
kyks70gy4#
在我的例子中,设置LANG或LC_ALL是不够的。我还有一个LANGUAGE环境变量,它被设置为en_GB:en_US:de。尽管顺序可能是偏好的顺序,但它导致git和其他命令行程序的德语响应。当我把它改成en_GB:en_US,git和其他程序都变成了英语。
LANGUAGE
en_GB:en_US:de
git
en_GB:en_US
ao218c7q5#
正如@Tom评论中所解释的,可以添加别名。在我的例子中,我在我的Ubuntu中添加 ~/.bash_aliases
alias giten='LANGUAGE=en_GB:en_Us git' # setup autocompletion if [ -f "/usr/share/bash-completion/completions/git" ]; then source /usr/share/bash-completion/completions/git __git_complete giten _git_main else echo "Error loading git completions" fi
所以如果我使用 git,它是我的语言,如果我使用 giten,它是英语
NOTA:如果不添加if,自动补全会丢失。完成
roejwanj6#
关于bcag2的回答:我喜欢这个答案,因为它改变了git的语言,并且保持了系统设置不变。实际上,我无法想象你们都没有git的“g”别名,如果你这样做,完成仍然可以工作:
alias g="LANGUAGE=en_GB:en_Us git" # setup autocompletion if [ -f "/usr/share/bash-completion/completions/git" ]; then source /usr/share/bash-completion/completions/git __git_complete g _git_main else echo "Error loading git completions" fi
6条答案
按热度按时间dbf7pr2w1#
你的位置可能是德国。你可以通过
locale
看到它。尝试通过以下方式更改:export LANG="en_US.UTF-8"
yc0p9oo02#
原因是您的命令行语言设置为德语。所以当你这样做的时候:
你会看到:
要更改此设置,请执行以下操作:
假设你的标准shell是bash。
别忘了:
sy5wg1nm3#
有时候,仅仅改变
LANG
环境变量是不够的。您可能还需要添加
LC_ALL
根据IEEE and The Open Group - Environment Variables。
因为从
LC_*
开始的环境变量会在LANG
之前被你的系统先使用:语言环境类别的值应按优先顺序确定;下面满足的第一个条件确定该值:
1.如果定义了LC_ALL环境变量且不为空,则应使用LC_ALL的值。
1.如果LC_* 环境变量(LC_COLLATE、LC_CTYPE、LC_MESSAGES、LC_MONETARY、LC_NUMERIC、LC_TIME)已定义且不为空,则应使用环境变量的值来初始化与环境变量对应的类别。
1.如果定义了LANG环境变量且该变量不为空,则应使用LANG环境变量的值。
1.如果LANG环境变量未设置或设置为空字符串,则应使用实现定义的默认区域设置。
要永久更改它,您需要将上面的代码粘贴到您最喜欢的shell配置文件(可能是
~/.bashrc
或~/.zshrc
)中。然后,要应用修改,请执行以下操作:
或
否则,只需打开一个新的终端。
kyks70gy4#
在我的例子中,设置
LANG
或LC_ALL
是不够的。我还有一个LANGUAGE
环境变量,它被设置为en_GB:en_US:de
。尽管顺序可能是偏好的顺序,但它导致git
和其他命令行程序的德语响应。当我把它改成en_GB:en_US
,git
和其他程序都变成了英语。ao218c7q5#
正如@Tom评论中所解释的,可以添加别名。在我的例子中,我在我的Ubuntu中添加 ~/.bash_aliases
所以如果我使用 git,它是我的语言,如果我使用 giten,它是英语
NOTA:如果不添加if,自动补全会丢失。完成
roejwanj6#
关于bcag2的回答:我喜欢这个答案,因为它改变了git的语言,并且保持了系统设置不变。
实际上,我无法想象你们都没有git的“g”别名,如果你这样做,完成仍然可以工作: