Python에서 시스템 언어를 찾는 방법은 무엇입니까?

Python에서 시스템 언어를 찾는 방법은 무엇입니까?

Python 3에서는 시스템이 어떤 언어를 사용하고 있는지 알아낼 수 있는 방법이 있나요? 다음과 같은 까다로운 문제도 있습니다: 비밀스러운 디렉토리에 있는 파일을 읽고 파일 내용에서
문자열을 찾는 것 'ENG'또는...'FRE'

답변1

유닉스 시스템에는 실제로 "시스템 언어"가 없습니다. Unix는 다중 사용자 시스템이므로 각 사용자는 원하는 언어를 자유롭게 선택할 수 있습니다. 시스템 언어에 가장 가까운 것은 계정이 구성되지 않을 때 사용자가 얻는 기본 언어입니다. 이 설정의 위치는 배포마다 다르며 로그인 프로세스 중 특정 시점에 선택됩니다.

대부분의 경우 중요한 것은 "시스템 언어"가 아니라 사용자가 응용 프로그램에서 사용하기를 원하는 언어입니다. 언어 기본 설정은 다음과 같은 방식으로 표현됩니다.지역 설정. 애플리케이션이 사용자 인터페이스에서 사용해야 하는 언어를 결정하는 설정은 입니다 LC_MESSAGES. 날짜, 통화 등의 설정도 있습니다. 이 설정이 전달되었습니다.환경 변수일반적으로 사용자가 특정 시스템 및 사용자 관련 파일에서 로그인할 때 설정됩니다.

LC_MESSAGES여러 변수가 사용되기 때문에 로케일을 찾는 것은 변수를 읽는 것보다 약간 더 복잡합니다 (참조:로케일을 무엇으로 설정해야 하나요? 이것이 어떤 영향을 미칠까요?). 이를 달성하기 위한 표준 라이브러리 함수가 있습니다. 파이썬에서는 다음을 사용합니다.locale.getlocale. 먼저 전화를 하셔야 해요setlocale로케일 인식을 켭니다.

import locale
locale.setlocale(locale.LC_ALL, "")
message_language = locale.getlocale(locale.LC_MESSAGES)[0]

관련 정보