强制Git使用默认系统语言

时间:2019-03-13 15:43:24

标签: git macos sublimetext3 homebrew config

Git在我的系统中没有使用英语作为默认语言,我也不知道为什么。我在macOS 10.13.6上,并使用随Homebrew一起安装的最后一个Git。

在某些具有git集成的应用程序中,例如本机或带有软件包的应用程序(例如Sublime Text或Fork),一些git消息以西班牙语提供。

Cambiando a rama... The dates are provided in Spanish Nada que hacer?

我的系统以英语安装,英语是系统的主要语言。我在系统中将西班牙语设置为第二语言,但是使用了西班牙语键盘。

我是西班牙语,我理解消息,但是我用英语设置了所有内容,但我不知道为什么出现此消息。

在终端上,所有内容都是英文,并且在.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

相关

2 个答案:

答案 0 :(得分:0)

我终于弄明白了!

问题仅发生在Homebrew的Git上,似乎是Homebrew的问题跟踪器(#37331#31980和特定的comment)中的一些评论和问题,可惜没有由Homebrew小组解决。

然后出现问题,然后将Homebrew的Git安装在默认语言为英语且还存在其他第二语言的系统中。它似乎与gettext有关。

有两种解决方案:

  1. 安装原始的Git二进制文件。如果您是Homebrew用户,那么这是一个较差的解决方案,因为您可能希望为了方便起见将所有内容与Homebrew一起安装。

  2. 在调用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的更多信息。也许你运气更好。
   无论如何,如果您的计算机上有另一个使用非英语的其他语言的用户,那是不好的。

  1. 在Homebrew酒窖/usr/local/Cellar/git/X.XX.xx/share/locale的Git桶中,删除/重命名冒犯者的语言环境是es。我决定只添加一个.back重命名它,每次Git更新时都可以使用此命令轻松完成
$ find $(brew --prefix)/Cellar/git -type d -name "es" -print0 | xargs -I{} mv {} {}.back

您只需用您的语言环境替换es,它将重命名为your-locale.back

答案 1 :(得分:0)

这很可能是Git中的错误。我已经在其他应用程序中看到了这一点。发生什么情况了,程序作者将用英语编写基本程序,然后提供其他语言的翻译文件,但提供private void fetchData(DataSnapshot dataSnapshot) { for(DataSnapshot postSnapShot:dataSnapshot.getChildren()) { Day day= postSnapShot.getValue(Day.class); listDays.add(day); } } 翻译文件,因为为什么当基础程序这样做时节目已经是英文了吧?然后,发生的情况是本地化库(gettext)从系统中的首选语言列表中查找,并在git程序中为每种语言查找翻译文件。它没有找到一种英语,但是有一种西班牙语,所以它使用了它!

在像您这样的情况下,要使程序正常工作,需要做的是,程序需要为en_US提供翻译文件,即使已经编写了基本程序,用英语

您应该将此报告为Git上游的错误。