다음을 통해 공유


로캘 및 언어

"언어"라는 용어는 음성 및 서면 통신에 사용되는 속성의 컬렉션을 나타냅니다. 각 언어에는 운영 체제에서 언어에 대한 지리적 위치 나타내는 데 사용되는 특정 코드 페이지(ANSI, DOS, Macintosh)를 나타내는 언어 이름과 언어 식별자가 있습니다. 중립 언어는 영어의 경우 "en"과 같은 이름으로 표시됩니다. 보다 지리적으로 특정한 언어는 로캘 및 국가/지역 정보를 모두 포함하는 이름으로 나타낼 수 있습니다. 예를 들어 로캘 영어(미국)의 언어 이름은 "en-US"입니다.

"로캘"은 값 목록으로 표시되는 언어 관련 사용자 기본 설정 정보의 컬렉션입니다. Windows XP는 150개 이상의 로캘을 지원하며 Windows Vista는 약 200개의 로캘을 지원합니다. 각 로캘은 언어 및 정렬 순서에 의해 정의되며 로캘 이름과 로캘 식별자를 모두 가집니다. 독일어(독일)의 로캘 이름 예는 "de-DE_phonebook"입니다.

각 운영 체제에는 하나 이상의 로캘이 설치되어 있으며 사용자가 선택할 수 있는 많은 로캘이 있는 경우가 많습니다. 각 로캘에는 이름과 식별자 이외의 다양한 정보가 연결되어 있습니다. 로캘 정보 유형은 로캘 정보 상수설명되어 있습니다.

운영 체제는 처음에 LOCALE_SYSTEM_DEFAULT정의된 "시스템 기본 로캘"을 할당하여 각 스레드에 로캘을 할당합니다. 이 로캘은 운영 체제가 설치되거나 사용자가 제어판의 국가 및 언어 옵션 부분을 사용하여 선택할 때 설정됩니다. 사용자에 속한 프로세스에서 스레드를 실행하는 경우 운영 체제는 스레드에 "사용자 기본 로캘"을 할당합니다. 이 로캘은 LOCALE_USER_DEFAULT의해 정의됩니다. 애플리케이션은 SetThreadLocale 함수를 사용하여 스레드에 대한 로캘을 명시적으로 설정하여 기본적으로 재정의할 수 있습니다.

언어를 구현하려면 해당 로캘이 필요합니다. 운영 체제는 특정 버전의 언어(일반적으로 가장 광범위한 로캘)와 연결된 로캘의 데이터를 선택하여 중립 언어를 구현합니다.

Windows Vista부터 특정 언어가 사용자 지정 로캘의 유형인 추가 로캘에 해당할 수 있습니다. 추가 로캘은 모두 단일 로캘 식별자를 공유하므로 애플리케이션은 식별자가 아닌 이름으로 이러한 로캘 및 해당 언어를 처리해야 합니다.

언어 개념은 로캘 개념과 밀접한 관련이 있지만 두 용어는 서로 교환할 수 없습니다. 일반적으로 다국어 사용자 인터페이스와 관련된 함수는 언어를 처리하는 반면 NLS 함수는 로캘에 따라 작동합니다.

이 섹션에서는 다음 항목을 다룹니다.

국가 언어 지원 대한

코드 페이지

로캘 정보 상수

다국어 사용자 인터페이스

지리적 위치 테이블

사용자 인터페이스 언어 관리

SetThreadLocale