다른 프로그램의 언어를 변경하지 않고 Linux 설치에서 git (영어로) 언어를 변경하고 싶습니다. 설정을 찾을 수 없습니다. 어떻게하나요?
다른 프로그램의 언어를 변경하지 않고 Linux 설치에서 git (영어로) 언어를 변경하고 싶습니다. 설정을 찾을 수 없습니다. 어떻게하나요?
답변:
다음 줄을 추가 ~/.bashrc
하거나 ~/.bash_profile
git이 모든 메시지를 영어로 표시하도록 강제합니다.
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
별칭 LC_ALL
은 환경 변수 LC_ALL
가 설정된 경우 일부 시스템에서 재정의해야합니다 LANG
. 자세한 설명은 UNIX 사양-환경 변수 를 참조하십시오 .
# Set Git language to English
#alias git='LC_ALL=en_US git'
alias git='LC_ALL=en_GB git'
이 줄을 ~/.bashrc
별칭에 추가 한 경우 새 대화 형 셸이 시작될 때 정의됩니다. ~/.bash_profile
별칭에 추가 한 경우 로그인시 적용됩니다.
.bash.rc
대신 .bashrc
). 또한 .bashrc
실행 하려면 쉘을 닫고 다시 시작 해야합니다. 이것에 대해서도 메모를 추가했습니다.
.bashrc
다시 시작해도 내에서 시도했습니다 . 별칭이 작동합니다. 언어는 변하지 않습니다.
.bashrc
성공적으로 실행 되는지 확인하려면 echo "This is .bashrc"
파일 끝에 다음 과 같은 테스트를 추가 할 수 있습니다 . 터미널 또는 전체 시스템을 다시 시작하지 않고도 요청시 실행되도록 할 수도 있습니다 . .bashrc
. 마지막으로 첫 번째 항목이 우선하므로 LC_ALL
대신 환경 변수 를 설정하는 것이 좋습니다 LANG
.
.bashrc
, 정말 괜찮습니다 . LC_ALL
우선권이 있으면 이것이 문제가 될 것이며 내 언어로 설정됩니다. 하지만 일반 언어 설정을 변경하고 싶지 않습니다. 한 프로그램에 덮어 쓸 수 없습니까?
$ LC_ALL="en_US" man
후 시도$ man
영어로 된 명령 하나만 갖고 싶다면 명령 LC_ALL=C
앞에 다음과 같이 쓸 수 있습니다 .
LC_ALL=C git status
결과적으로
# On branch master
nothing to commit, working directory clean
에서 사용되는 로케일 C
은 영어이며 추가 언어 팩을 설치하지 않고도 항상 사용할 수 있습니다
( https://askubuntu.com/a/142814/34298 참조 ).
현재 bash 세션 전체에 대해 변경하려면 다음을 입력하십시오.
LANG=C
예를 들어 독일어로 변경하려면
LANG=de_DE.UTF-8
LC_ALL=C
제안 해 주셔서 감사합니다. 로케일에 문제가있어서 LC_ALL="en_US"
최근에 더 이상 작동하지 않았습니다.
이 줄을 추가하면 문제가 해결되었습니다.
$ more ~/.bash_profile
export LANG=en_US
참고 : Git 2.3.1+ (2015 년 1 분기) 이후 Git은 가능한 경우 Accept-Language 헤더를 추가합니다.
참조 f18604b 커밋 에 의해 (이순신 EungJun eungjun-yi
)
추가
Accept-Language
사용자가 선호하는 언어에 의해 정의 된 표시 헤더$LANGUAGE
,$LC_ALL
,$LC_MESSAGES
와$LANG
.이를 통해 git 서버는 사용자가 선호하는 언어로 원격 오류 메시지를 표시 할 수 있습니다.
git gui 또는 기타 GUI에 대한 로케일 이 있습니다 .그러나 GitSurvey 2010 의 질문 중 하나라는 점을 고려할 때 명령 줄에는 해당되지 않습니다.
localization of command-line messages (i18n) 258 3.6%
물론 2010 년부터 다음과 같이 po/README
설명합니다.
문자열을 번역하기 전에 먼저 번역 표시를해야합니다.
Git은 시스템
gettext
라이브러리 를 래핑하는 국제화 인터페이스를 사용하므로 gettext 문서 (info gettext
터미널의 GNU 시스템) 에있는 대부분의 조언이 적용됩니다.
git 1.7.9+ 이후 (2012 년 1 월) :
Git은
gettext
번역이 가능하고 로케일이 적절하게 설정된 경우 가장 일반적인 인터페이스 메시지를 사용자의 언어로 번역하는 데 사용합니다 .
배포자는 새PO
파일을 드롭po/
하여 새 번역을 추가 할 수 있습니다 .
따라서 업데이트가 번역을 엉망으로 만든 경우 gettext
사용하는
항목을 확인 하십시오. 예를 들어 " Locale Environment Variables "를 참조하십시오.
로케일은 여러 로케일 범주로 구성됩니다. Aspects를 참조하십시오. 프로그램이 로케일 종속 값을 조회 할 때 다음 환경 변수에 따라 우선 순위에 따라이를 수행합니다.
LANGUAGE
LC_ALL
LC_xxx, according to selected locale category: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, ...
LANG
값이 설정되었지만 비어있는 변수는이 조회에서 무시됩니다.
LANG
로케일을 지정하기위한 일반 환경 변수입니다. 사용자는 일반적으로이 변수를 설정합니다 (다른 변수 중 일부가 이미 시스템,/etc/profile
또는 유사한 초기화 파일 에 설정되어 있지 않은 경우 ).
LC_CTYPE
,LC_NUMERIC
,LC_TIME
,LC_COLLATE
,LC_MONETARY
,LC_MESSAGES
, 등, 오버라이드 (override)하는 것을 의미 환경 변수LANG
와 단 하나의 로케일 범주에 영향을 미치는.
예를 들어, 스페인의 스웨덴 사용자이고 프로그램이 스페인어 규칙에 따라 숫자와 날짜를 처리하도록하고 메시지 만 스웨덴어로 작성해야한다고 가정합니다. 그런 다음 프로그램 을 사용하여 'sv_ES
'또는 'sv_ES.UTF-8
' 라는 로케일을 만들 수 있습니다localedef
. 그러나 간단하고, 설정, 동일한 효과를 달성LANG
하는 변수es_ES.UTF-8
와LC_MESSAGES
변수를sv_SE.UTF-8
; 이 두 로케일은 이미 운영 체제에 사전 설치되어 있습니다.
LC_ALL
이 모든 것을 재정의하는 환경 변수입니다. 일반적으로 특정 프로그램을 실행하는 스크립트에서 사용됩니다. 예를 들어, GNU에서 생성 된 구성 스크립트 는 구성 테스트가 로케일 종속 방식으로 작동하지 않는지 확인하는 데autoconf
사용LC_ALL
됩니다.불행히도 일부 시스템
LC_ALL
은/etc/profile
또는 유사한 초기화 파일에 설정 되어 있습니다. 따라서 사용자LANG
는 다른LC_xxx
변수 를 설정 하고 선택적으로 일부 를 설정하려는 경우이 변수를 설정 해제해야 합니다.
LANG
사용 git
중인 (또는 시작 git-gui
하는) bash / shell / DOS 세션 에서 설정하는 한 git
(또는 git-gui
) 만 해당 특정 설정을 사용합니다. 다른 모든 프로그램은 시스템 / 사용자 환경 변수에서 상속됩니다.
GIT는 로케일 언어를 찾을 수없는 경우 영어로 기본 설정됩니다.
따라서 GIT를 영어로 작성하려면 실행중인 언어 파일을 방해하십시오. 제 경우에는 항상 독일어 (예 : de.msg )로 실행되었습니다 .
삭제하거나 이름을 바꾸면 기본적으로 영어가됩니다.
여기에서 파일 이름을 변경했습니다.
C:\Program Files\Git\mingw64\share\locale\$LANG\LC_MESSAGES\git.mo
.
/usr/local/Cellar/git/2.21.0/share/locale/
.
Bengt가 제안한대로 다음 행을 추가 ~/.bashrc
하거나 ~/.bash_profile
git이 모든 메시지를 영어로 표시하도록 강제합니다
vim ~/.bashrc
.-이 프로필의 경우 (사용자 ubuntu
이고 편집하는 경우이 사용자에게만 해당됩니다) 다음 줄을 추가하십시오.
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
#you can add also
LANG=en_GB
파일을 닫은 후 쉘에 작성해야합니다.
source ~/.bashrc
새 설정을 다시로드하거나 터미널을 종료하고 다시 연결하려면 :)
LANG=en_GB
로 무엇 ~/.bashrc
을해야합니까? 그것은 단지 지역 변수를 정의하지 LANG
않습니까?