Homebrew and Git-명령 행에서 잘못된 언어


43

이상한 문제가 있습니다-Command gitLine Tools 패키지와 함께 제공 되는 명령을 사용하면 명령 줄의 인터페이스가 영어로되어 있습니다. 그러나 Homebrew를 사용하여 설치된 버전은 독일어를 사용하여 출력합니다 (독일에 살고 있지만 시스템 언어는 미국 영어로 설정되어 있으며 컴퓨터는 실제로 싱가포르에서 구입했습니다).

나는 이것이 최근에야 변경되었다고 생각합니다. 수리를 위해 Mac을 주어야했고 독일 매장에서 그랬습니다. 이제 컴퓨터를 다시 가져 왔으므로 Git의 출력이 독일어로 된 것을 알았습니다. 시스템 설정이있는 동안 시스템 설정에 어떤 작업을 수행했는지 확실하지 않습니다. 내가 아는 한, 이것은 독일어를 언어로 사용하는 유일한 명령 줄 응용 프로그램입니다. 다음은 locale명령으로 생성 된 출력입니다 .

LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

Git이 영어로 대화하고 싶습니다. 나는 LANG등을 영어로 설정할 수 있고 그것이 아마도 효과가있을 것이라고 알고 있지만,이 변화가 어디에서 왔는지 이해하고 싶습니다.

어떤 아이디어?

편집 : 일을 더 흥미롭게하기 위해, 나는 직장에서 얻은 다른 Mac을 사용합니다. 독일에서 구입했으며 초기 언어 설정은 독일어 (미국 영어로 변경됨)였으며 모든 것이 제대로 작동합니다. 즉, Git 설치 (CLT 및 Homebrew) 모두 영어를 사용합니다. locale명령의 로케일 정보 는 동일합니다.


나는 같은 문제가 있다고 생각합니다. macOS Mojave 10.14 (18A389), Homebrew 1.7.6, git 버전 2.19.0에서 실행 중…
Frank Lämmer

2
이것은 단지 내가 모하비로 업그레이드 할 때 나에게 무슨 일이 있었; 지금까지는 잘 작동했습니다. 모든 OS X 인터페이스는 영어, C 로케일로되어 있지만 저는 독일어권 국가에 있고 git은 저에게 독일어로 이야기하고 있습니다. 그럼 어떻게 합니까 사용하는 어떤 언어를 결정 GIT?
Alexis

답변:


57

최근에는 특히 git (및 MacOS Mojave로 업데이트 한 후)에서 동일한 동작을 관찰하기 시작했습니다. 처음에는 git 자체의 문제라고 생각했습니다. 그래서, 나는 homebrew와 함께 git을 다시 설치했다.

그러나 MacOS "설정"의 "언어 및 지역"탭으로 이동하여 필요하지 않은 목록에서 다른 언어를 제거하면 (참고 : 키보드 입력 소스와 다름) 명령 출력 메시지가 표시됩니다. 원하는 언어로 터미널에 (내 경우에는 영어).

특히이 문제는 macOS 터미널에서만 발생했습니다 (예 : VSCode 터미널에서는 발생하지 않음).


1
아직 모하비에 있지 않지만 문제가 해결되었습니다. 그리고 VSCode 또는 Idea 터미널은 영어로, iterm2는 독일어로되어 있습니다. 나는 종종 다른 언어로 쓰고 특별한 문자가 필요하기 때문에 독일어를 포함하여 꽤 많은 입력 소스가 있습니다. 입력 소스를 추가하면 '언어 및 지역'목록에 언어가 추가됩니다. 실제로 필요하지 않으며 문제가 발생합니다. 이상하게도, 영어는 여전히 그 목록의 최상위에 있지만, 제 2 언어 인 독일어에 의해 대체되었습니다. 흠.
wujek

1
모하비로 업데이트 한 후에도 비슷한 일이 일어났습니다. 내 터미널 git은 영어이지만 IntelliJ 터미널을 통한 git는 스페인어입니다 (Language & Reigon의 보조 언어). LANG 환경 변수를 명시 적으로 설정하고 수정했습니다. Language & Reigon에서 스페인어를 원했기 때문에
Sam

@wujek 당신이 Mojave를 사용하지 않는다는 사실은 homebrew의 최신 git 패키지에 여전히 문제가 될 수 있습니다. 내 시스템에서 두 가지 변경 사항만이 발견되었습니다.이 문제를 발견했습니다 : Mojave로 업데이트하고 homebrew로 git 패키지를 업그레이드하십시오.
Anton K

2
러시아어로 자식을 보는 것이 너무 놀랐습니다. : D
Artem

3
언어를 삭제하는 것은 해결책이 아닙니다. LANG = en_US.UTF-8을 설정했는데 여전히 프랑스어입니다.
Walker Rowe

10

같은 문제가 있습니다. homebrew 업그레이드 git 2.17.0-> 2.19.1 후에 새로운 git 버전이 LANG env 변수를 존중하기 시작합니다.

만약

LANG="en_US.UTF-8"

또는

LANG=

git은 영어를 사용합니다.

예를 들어

LANG="zh_CN.UTF-8"

자식은 중국어를 사용합니다.

git 커밋 로그를 읽지 못했지만 의도 한대로 작동한다고 생각합니다. 영어가 아닌 git 명령 줄 출력 메시지를 보는 것이 조금 이상합니다. :)


실제로 en_EN는 유효한 로캘이 아닙니다. 유효한 로케일은 예를 들어, 그래서, 지난 2 개 문자로 국가 코드를, en_US그리고 en_UK유효한 로케일입니다.
Walter Tross 2016 년

사제 2.1.6에서 심지어 자식 버전 2.21.0와 나를 위해하지 작동합니까
니콜라스 Massart

@WalterTross 실제로도 en_UK유효하지 않습니다 en_GB(영국)가 맞습니다. stackoverflow.com/a/7296292/9534591
ik1ne

맞습니다. 실제로 이중 확인 후 Timothy Siwula의 답변을 올바르게 수정했습니다. 영국 대 GB :-(. BTW, GB는 영국과 영국으로 구성된 영국의 ISO 코드입니다. en.wikipedia.org/wiki/ISO_3166-2 : GB
Walter Tross

설정에서 언어를 제거하면 다른 영향을 미칩니다.
tsnobip

4

이것을 파일에 추가하십시오 .bash_profile-macOS mojave (10.14)에 PyCharm의 터미널 구성 요소와 비슷한 버그가 있습니다.

# locale settings, string mac/chinese/pycharm/git bug
# https://coderwall.com/p/ehvc8w/set-lang-variable-in-osx-terminal-app
export LANG="en_GB.UTF-8"
export LC_COLLATE="en_GB.UTF-8"
export LC_CTYPE="en_GB.UTF-8"
export LC_MESSAGES="en_GB.UTF-8"
export LC_MONETARY="en_GB.UTF-8"
export LC_NUMERIC="en_GB.UTF-8"
export LC_TIME="en_GB.UTF-8"
export LC_ALL=

이 작업을 수행 한 후 시스템을 다시 시작해야 적용됩니다.

크레딧은이 블로그 게시물로 이동합니다


3

내가 말할 수있는 것은 Git의 문제가 아니라 GNU gettext 의 문제입니다.

버그GNU gettext v0.20 에서 수정 된 것 같습니다 . 그러나이 게시물을 기준으로 Homebrew는 불행히도 v0.19.8.1 만 제공합니다 .


다음과 같이 문제를 재현했습니다.

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.4
BuildVersion:   18E226
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
$ defaults read -g AppleLanguages
(
    "en-JP",
    "ja-JP",
    "sv-JP"
)
$ brew info gettext
gettext: stable 0.19.8.1 (bottled) [keg-only]
GNU internationalization (i18n) and localization (l10n) library
https://www.gnu.org/software/gettext/
/usr/local/Cellar/gettext/0.19.8.1 (1,934 files, 17.0MB)
  Poured from bottle on 2016-06-24 at 02:05:52
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gettext.rb
...
$ /usr/local/Cellar/gettext/0.19.8.1/bin/msgcat --version
msgcat (GNU gettext-tools) 0.19.8.1
Copyright (c) 2001-2016 Free Software Foundation, Inc.
Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl.html>
Detta program "ar fri programvara.  Du kan modifiera och distribuera den.
Det finns inte NAGON SOM HELST GARANTI, till den grad som lagen tillater.
Skrivet av Bruno Haible.
$ sudo filebyproc.d
CPU     ID                    FUNCTION:NAME
...
  2    957              open_nocancel:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/bin
  2    957              open_nocancel:entry msgcat /etc/localtime
  2    957              open_nocancel:entry msgcat /var/db/timezone/zoneinfo/posixrules
  2    957              open_nocancel:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/locale.alias
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/en_JP/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/en/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja_JP.eucJP/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja_JP.eucjp/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja_JP/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja.eucJP/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja.eucjp/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja/LC_MESSAGES/gettext-tools.mo
  3    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/sv_JP/LC_MESSAGES/gettext-tools.mo
  3    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/sv/LC_MESSAGES/gettext-tools.mo

brew info gettext경로에 gettex를 추가하여 문제를 해결하는 방법에 대한 정보를 제공 하는 것 같지만, 이렇게해야하는지 여부를 알 수 없습니다 ...
Nicolas Massart


0

Mojave와 Git 2.19에서 같은 문제가 있었지만 Git을 2.21로 업데이트했는데 다시 예상대로 작동했습니다.


2
나는 자식 2.21.0에 문제가 있어요
월터 Tross
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.