LANGUAGE 환경 변수는 어디에 설정되어 있습니까?


9

LANGUAGE 환경 변수는 어떤 구성 파일에 설정되어 있습니까? (또는 다른 방법으로 어떻게 변경할 수 있습니까?)

배경 : 나는 쿠분투에서 언어 설정을 가지고 놀고 있었고 우연히 러시아어를 설치했습니다. 이제는 완전히 사라지지 않을 것입니다. 예, GUI에 영어가 표시되지만 명령 줄에 러시아어입니다. 내가 알 수있는 가장 좋은 것은 LANGUAGE 환경 변수 때문입니다. 세번째 줄을보십시오 :

leon@leon-Desktop:~$ locale
LANG=en_US.UTF-8
LANGUAGE=en:ru:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=

LANGUAGE를 제외한 모든 것이 올바르게 설정되었습니다. 로케일 / 언어를 구성하는 방법에 대한 많은 지시 사항을 살펴 보았지만 LANGUAGE를 변경하는 것으로 보이지는 않습니다 (LANG와 같은 다른 환경 변수를 변경했지만). 따라서 로케일을 변경하는 방법에 대한 개요에는 관심이 없습니다. 언어를 바꾸는 방법을 구체적으로 알아야합니다 (상황을 완전히 이해하지 않는 한). 가치있는 것은 LANG가 / etc / default / locale에 설정되어 있지만 LANGUAGE는 설정되어 있지 않습니다. (LANGUAGE를 설정하려고 시도했지만 어떻게 든 재정의됩니다.) 수동으로 LANGUAGE를 en으로 설정하면 해당 셸이 제대로 작동하므로 LANGUAGE 만 변경해야한다고 생각합니다.


편집하다:

명확히하기 위해 / etc / default / locale에서 LANGAUGE를 설정해도 도움이되지 않습니다 . 또한 ~ / .pam_environment가 없습니다.

아래를 참조하십시오. LANGUAGE는 / etc / default / locale에서 "en"으로 설정되어 있습니다. 나는 기계를 다시 시작했다. / etc / default / locale의 내용을 확인했습니다. 그러나 apt-get은 LANGUAGE가 다른 곳에서 덮어 쓰기 때문에 여전히 러시아어로 출력됩니다 (로케일에서 위의 출력 생성).

leon@leon-Desktop:~$ cat /etc/default/locale 
LANG="en_US.UTF-8"
LANGUAGE="en"
leon@leon-Desktop:~$ cat ~/.pam_environment
cat: /home/leon/.pam_environment: No such file or directory
leon@leon-Desktop:~$ sudo apt-get update
Игн http://mirror.anl.gov utopic InRelease

...

편집 2 :

~ / .kde / env / setlocale.sh가 culperate 인 것 같습니다. KDE 버그 보고서를 제출할 것 같습니다.

$ cat ~/.kde/env/setlocale.sh
export LANGUAGE=en:ru:en
export LANG=en_US.UTF-8
export LC_NUMERIC=en_US.UTF-8
export LC_TIME=en_US.UTF-8
export LC_MONETARY=en_US.UTF-8
export LC_PAPER=en_US.UTF-8
export LC_IDENTIFICATION=en_US.UTF-8
export LC_NAME=en_US.UTF-8
export LC_ADDRESS=en_US.UTF-8
export LC_TELEPHONE=en_US.UTF-8
export LC_MEASUREMENT=en_US.UTF-8

답변:


5

help.ubuntu.com 에서 가져옴

The LANGUAGE priority list

The "LANGUAGE" environment variable, which is set by the GUIs more often than not on 
Ubuntu desktops, controls language for message and menu display for GNU compatible 
applications. For such applications it overrides whatever locale names are set in 
"LANG" and "LC_MESSAGES".

Unlike "LANG" and "LC_*", "LANGUAGE" should not be assigned a complete locale name 
including the encoding part (e.g. ".UTF-8"). Instead "LANGUAGE" should contain a 
colon separated priority list of language codes, for instance "es:de:en". A single 
language code is also correct.

링크 답변으로 절름발이이므로 이것은 아마도 당신이 원하는 것입니다.

위의 링크에서 참조 포스트는 설명 당신이 명령 행에 표시는 다음 두 설정해야하는 언어 변경하려는 경우 LANGLANGUAGE중 하나에 따라를 /etc/default/locale또는 ~/.pam_environment.

LANGUAGE에서 설정 을 이미 시도 했으므로 사용자 구성 파일이므로 해당 내용을 전역 환경에 설정된 내용을 덮어 써야하므로 /etc/default/locale설정을 시도 ~/.pam_environment합니다.

편집하다:

계속 해서 로그 아웃 한 다음 다시 로그인하도록 설정 LANGUAGE하여 설명한 문제를 복제하려고 했습니다. 그런 다음 적어도 루트 계정 (이것이 테스트중인 계정)에 대해 오류 메시지가 러시아어로 표시되었습니다. 값 을 수정 하여 수정했습니다./etc/default/locale"en:ru:en"LANGUAGE"en"


불행히도, 내가 언급했듯이 / etc / default / locale에 변수를 설정하는 것만으로는 충분하지 않습니다. (원래 게시물과 설명을 보려면 편집본을 참조하십시오.) 분명히 변수가 어딘가에 겹쳐 쓰여져 어딘가에 있는지 알아야합니다.
lnmaurer

@lnmaurer 알고 있습니다. 당신은 그것을 설정하려고 했습니까 ~/.pam_environment? 존재하지 않는 것에 대한 귀하의 의견을 보았습니다. 의 grep LANGUAGE /etc -r | less모든 단일 인스턴스를 시도한 다음 수동으로 확인할 수 LANGUAGE있습니다. 또한, 반드시 확인 ~/.profile하고~/.xsessionrc
알렉세이 마구 라

2
나는 당신의 충고를 잡았다. /etc아무것도 설정하지 않았지만 내 홈 디렉토리를 움켜 쥐는 것이 나타났습니다 /.kde/env/setlocale.sh. 문제가 된 것 같습니다.
lnmaurer

1

LANGUAGE변수를 ru : en 또는 in로 설정 한 것처럼 들리 /etc/default/locale므로 en으로 변수 를 변경하십시오.

Alexej Magura가 쓴 대답은 또한 언급합니다 ~/.pam_environment. 아마도 쿠분투를 가지고 있기 때문에 다른 파일이 대신에 포함될 수도 있습니다.


~ / .pam_environment가 없습니다. 어떤 파일에 대한 다른 생각이 있습니까?
lnmaurer

@lnmaurer : 아마도 ~/.kde/share/config/kcmlocale-grouping그것과 관련이 있습니다. 시스템 설정-> 로케일-> 언어를 통해 변경할 수 있습니다.
Gunnar Hjalmarsson '12

1
당신은 그것이 KDE에 특정한 것이 맞습니다. ~/.kde/env/setlocale.sh문제인 것 같습니다 .
lnmaurer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.