Git在我的系统中没有使用英语作为默认语言,我无法弄清楚原因。我在macOS 10.13.6上并使用与Homebrew一起安装的最后一个Git。
在一些具有git集成的应用程序中,本地或使用包,如Sublime Text或Fork,一些git消息以西班牙语提供。
我的系统是用英语安装的,英语是系统的主要语言。我将西班牙语设置为系统中的辅助语言和西班牙语键盘。
我是西班牙语,我理解这些消息,但是我用英语设置了一切,我不知道为什么这些消息会弹出来。
在终端上,一切都是英语,在我设置的.bash_profile
中:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
我想知道某处是否存在任何隐藏设置或可能导致此问题。
思考?
PS1 /我刚刚卸载并安装了git,没有任何改变。
PS2 /在崇高如果您使用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和这个特殊的comment)中有几个评论和问题,但是Homebrew团队却没有解决这个问题。
出现问题然后Homebrew的Git安装在一个系统中,其中英语是默认语言,还有其他辅助语言。它似乎与gettext有关。
有几个解决方案:
~/.bash_profile
或~/.zshrc
或其他:export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
我试图使这个系统无法在我的~/.bashrc
和/etc/bashrc
和/etc/profile
中插入。有关此here的更多信息。也许你有更好的运气。
无论如何,如果你的计算机中有另一个用户使用非英语的其他语言,那就不好了。
/usr/local/Cellar/git/X.XX.xx/share/locale
上的Git's keg中的ofender语言区域设置是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的上游错误。