linux 如何更改git的语言?

ar7v8xwq  于 2023-06-21  发布在  Linux
关注(0)|答案(6)|浏览(114)

我的git是德语,它说:
再见茨威格大师
而不是
On branch master
git status
这是什么原因呢?

dbf7pr2w

dbf7pr2w1#

你的位置可能是德国。你可以通过locale看到它。尝试通过以下方式更改:export LANG="en_US.UTF-8"

yc0p9oo0

yc0p9oo02#

原因是您的命令行语言设置为德语。所以当你这样做的时候:

echo $LANG

你会看到:

de_DE.UTF-8

要更改此设置,请执行以下操作:

echo "export LANG=en_US.UTF-8" >> ~/.bashrc

假设你的标准shell是bash。
别忘了:

source ~/.bashrc
sy5wg1nm

sy5wg1nm3#

有时候,仅仅改变LANG环境变量是不够的。
您可能还需要添加LC_ALL

export LC_ALL=en_US.UTF-8

根据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)中。
然后,要应用修改,请执行以下操作:

$ source ~/.bashrc

$ source ~/.zshrc

否则,只需打开一个新的终端。

kyks70gy

kyks70gy4#

在我的例子中,设置LANGLC_ALL是不够的。我还有一个LANGUAGE环境变量,它被设置为en_GB:en_US:de。尽管顺序可能是偏好的顺序,但它导致git和其他命令行程序的德语响应。当我把它改成en_GB:en_USgit和其他程序都变成了英语。

ao218c7q

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,自动补全会丢失。完成

roejwanj

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

相关问题