![locale: LANGUAGE 변수는 무엇에 사용되나요? (그리고 언제?)](https://rvso.com/image/1311332/locale%3A%20LANGUAGE%20%EB%B3%80%EC%88%98%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%97%90%20%EC%82%AC%EC%9A%A9%EB%90%98%EB%82%98%EC%9A%94%3F%20(%EA%B7%B8%EB%A6%AC%EA%B3%A0%20%EC%96%B8%EC%A0%9C%3F).png)
Linux에서 사용되는 로케일을 이해하려고 노력 중입니다. 내 Ubuntu 11.10 시스템에서는 locale
다음을 출력합니다.
LANG=en_DK.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE=en_GB.UTF-8
LC_NUMERIC="en_DK.UTF-8"
LC_TIME="en_DK.UTF-8"
LC_COLLATE=en_GB.UTF-8
LC_MONETARY="en_DK.UTF-8"
LC_MESSAGES=en_GB.UTF-8
LC_PAPER="en_DK.UTF-8"
LC_NAME="en_DK.UTF-8"
LC_ADDRESS="en_DK.UTF-8"
LC_TELEPHONE="en_DK.UTF-8"
LC_MEASUREMENT="en_DK.UTF-8"
LC_IDENTIFICATION="en_DK.UTF-8"
LC_ALL=
( en_dk
국제 요일 형식, 유럽 대륙 숫자 형식(1.234,56) 등을 사용하기 위한 것입니다.)
나는 LC_*
가족이 무엇을 하는지 이해한다고 생각합니다. 즉, LANG
가족 중 하나가 설정되지 않고 LC_ALL이 모든 LC_*
변수를 해당 값으로 설정하는 경우의 대체 조치입니다.
내가 아직 모르는 것은 무엇인가?LANGUAGE
에 사용됩니다. 표기법은 HTTP 헤더 en_GB:en
를 생각나게 합니다 Accept-Language
. 위의 설정을 사용하면 영국 영어에 대한 번역이 있는 경우 영국 영어가 사용됩니다. 그렇지 않으면 기존 영어 번역(en_US, en_AU, ... 등)이 사용됩니다.
지금까지 내 말이 맞나요?
또한 어떤 프로그램이 실제로 LANGUAGE
설정을 따르나요? 와 얼마나 다른가요 LC_MESSAGES
?
불행히도 가족 man locale
에 대해서만 문서화됩니다 LC_*
. 그리고 웹에서 'linux locale LANGUAGE' 또는 이와 유사한 것을 검색하는 것은 음소거 지점입니다. (물론 언어는 로케일을 말할 때 자주 사용되는 단어이고, locale
논의되지 않고 의 출력에만 표시될 수도 있습니다.)
혹시 저를 도와주실 분 계신가요?
답변1
지정된 로캘로 재정의됩니다.$LC_ALL
gettext 메시지 카탈로그와 관련하여. 그렇지 않으면 사용되지 않습니다.