locale: LANGUAGE 변수는 무엇에 사용되나요? (그리고 언제?)

locale: LANGUAGE 변수는 무엇에 사용되나요? (그리고 언제?)

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 메시지 카탈로그와 관련하여. 그렇지 않으면 사용되지 않습니다.

관련 정보