强制Git使用默认系统语言
Force Git to use the default system language
Git 在我的系统中没有使用英语作为默认语言,我不明白为什么。我在 macOS 10.13.6 上使用最后一个 Git 安装 Homebrew。
在某些具有 git 集成的应用程序中,本机或与包,如 Sublime Text 或 Fork,一些 git 消息以西班牙语提供。
我的系统是英文安装的,英文是os系统的主要语言。不过,我在系统和西班牙语键盘中将西班牙语设置为第二语言。
我是西班牙人,我理解这些消息,但我的所有设置都是英文的,我不知道为什么会弹出这些消息。
在终端上一切都是英文的,在 .bash_profile
我已经设置:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
我想知道是否有任何隐藏的设置或可能导致此问题的原因。
想法?
PS1/ 我刚刚卸载并安装了 git 并没有任何改变。
PS2/ 在 sublime 中,如果你使用包 GitSavvy,你可以提供 git 环境变量。如果你放在那里
"env": {
"LANG": "en_US.UTF-8"
},
Git 以正确的语言工作。这不是解决方案。
PS3/这个是相关的https://apple.stackexchange.com/questions/337244/homebrew-and-git-wrong-language-on-the-command-line
我终于明白了!
这个问题只发生在 Homebrew 的 Git 上,Homebrew 的问题跟踪器 (#37331, #31980 and this particular comment) 中似乎有一些评论和问题,很遗憾,Homebrew 的团队尚未解决这些问题。
Homebrew 的 Git 安装在默认语言为英语且还有其他辅助语言的系统中时,问题就出现了。好像跟gettext有关。
有几个解决方案:
安装原始 Git 二进制文件。如果您是 Homebrew 用户,这是一个糟糕的解决方案,因为为了方便起见,您可能希望使用 Homebrew 安装所有东西。
将语言环境变量解析为在调用 Git 时受影响的应用程序。这在 Sublime Text 的 Savvy 包中是可能的,但也许并不总是可能的。
对于终端很容易。您只需添加到您的终端配置文件 ~/.bash_profile
或 ~/.zshrc
或其他任何内容:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
我试图扩大这个系统的范围,但没有在我的 ~/.bashrc
和 /etc/bashrc
和 /etc/profile
中插入它们。有关此 here 的更多信息。也许你的运气更好。
无论如何,如果您的计算机中有另一个用户使用其他非英语语言,这就不好了。
- Delete/rename Homebrew's Cellar Git 桶中的违规语言 locale/s
/usr/local/Cellar/git/X.XX.xx/share/locale
在我的案例中是 es
语言。我决定重命名它,只添加一个 .back
,每次 Git 更新时,您都可以使用此命令轻松完成
$ find $(brew --prefix)/Cellar/git -type d -name "es" -print0 | xargs -I{} mv {} {}.back
您只需将 es
替换为您的语言环境,它就会重命名为 your-locale.back
。
这很可能是 Git 中的错误。我在其他应用程序中看到过这一点。发生的情况是程序作者将用英语编写基本程序,然后提供其他语言的翻译文件,但 不会 提供 en_US
翻译文件,因为为什么要这样做当基本程序已经是英文时,对吗?然后发生的事情是本地化库 (gettext) 从您的系统中查看您的首选语言列表,在 git 程序中为每种语言寻找翻译文件。它没有找到一个用于英语的,但是有一个用于西班牙语的,所以它使用那个!
要使程序在像您这样的情况下正常工作,需要做的是该程序需要为 en_US
、提供翻译文件,即使 基础程序已经用英文写好了。
您应该将此作为错误报告给 Git。
Git 在我的系统中没有使用英语作为默认语言,我不明白为什么。我在 macOS 10.13.6 上使用最后一个 Git 安装 Homebrew。
在某些具有 git 集成的应用程序中,本机或与包,如 Sublime Text 或 Fork,一些 git 消息以西班牙语提供。
我的系统是英文安装的,英文是os系统的主要语言。不过,我在系统和西班牙语键盘中将西班牙语设置为第二语言。
我是西班牙人,我理解这些消息,但我的所有设置都是英文的,我不知道为什么会弹出这些消息。
在终端上一切都是英文的,在 .bash_profile
我已经设置:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
我想知道是否有任何隐藏的设置或可能导致此问题的原因。
想法?
PS1/ 我刚刚卸载并安装了 git 并没有任何改变。
PS2/ 在 sublime 中,如果你使用包 GitSavvy,你可以提供 git 环境变量。如果你放在那里
"env": {
"LANG": "en_US.UTF-8"
},
Git 以正确的语言工作。这不是解决方案。
PS3/这个是相关的https://apple.stackexchange.com/questions/337244/homebrew-and-git-wrong-language-on-the-command-line
我终于明白了!
这个问题只发生在 Homebrew 的 Git 上,Homebrew 的问题跟踪器 (#37331, #31980 and this particular comment) 中似乎有一些评论和问题,很遗憾,Homebrew 的团队尚未解决这些问题。
Homebrew 的 Git 安装在默认语言为英语且还有其他辅助语言的系统中时,问题就出现了。好像跟gettext有关。
有几个解决方案:
安装原始 Git 二进制文件。如果您是 Homebrew 用户,这是一个糟糕的解决方案,因为为了方便起见,您可能希望使用 Homebrew 安装所有东西。
将语言环境变量解析为在调用 Git 时受影响的应用程序。这在 Sublime Text 的 Savvy 包中是可能的,但也许并不总是可能的。
对于终端很容易。您只需添加到您的终端配置文件~/.bash_profile
或~/.zshrc
或其他任何内容:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
我试图扩大这个系统的范围,但没有在我的 ~/.bashrc
和 /etc/bashrc
和 /etc/profile
中插入它们。有关此 here 的更多信息。也许你的运气更好。
无论如何,如果您的计算机中有另一个用户使用其他非英语语言,这就不好了。
- Delete/rename Homebrew's Cellar Git 桶中的违规语言 locale/s
/usr/local/Cellar/git/X.XX.xx/share/locale
在我的案例中是es
语言。我决定重命名它,只添加一个.back
,每次 Git 更新时,您都可以使用此命令轻松完成
$ find $(brew --prefix)/Cellar/git -type d -name "es" -print0 | xargs -I{} mv {} {}.back
您只需将 es
替换为您的语言环境,它就会重命名为 your-locale.back
。
这很可能是 Git 中的错误。我在其他应用程序中看到过这一点。发生的情况是程序作者将用英语编写基本程序,然后提供其他语言的翻译文件,但 不会 提供 en_US
翻译文件,因为为什么要这样做当基本程序已经是英文时,对吗?然后发生的事情是本地化库 (gettext) 从您的系统中查看您的首选语言列表,在 git 程序中为每种语言寻找翻译文件。它没有找到一个用于英语的,但是有一个用于西班牙语的,所以它使用那个!
要使程序在像您这样的情况下正常工作,需要做的是该程序需要为 en_US
、提供翻译文件,即使 基础程序已经用英文写好了。
您应该将此作为错误报告给 Git。