로캘 결정

Flash Player 10.1 이상, Adobe AIR 2.0 이상

로캘은 해당 국가 또는 지역의 특정 언어 및 문화적 규칙 조합을 식별합니다.

로캘 식별자는 문자열로 관리하는 것이 안전합니다. 그러나 로캘과 관련된 추가 정보를 가져오도록 LocaleID 클래스를 사용할 수 있습니다.

LocaleID 객체를 만드는 방법은 다음과 같습니다.

var locale:LocaleID = new LocaleID("es-MX");

LocaleID 객체가 생성되었으면 로캘 ID에 대한 데이터를 검색할 수 있습니다. getKeysAndValues() , getLanguage() , getRegion() , getScript() , getVariant() isRightToLeft() 메서드와 name 속성을 사용합니다.

이러한 메서드 및 속성으로 검색된 값은 해당 로캘에 대한 로캘 식별자를 통해 직접 추출할 수 없는 추가 정보를 나타낼 수 있습니다.

응용 프로그램에서 날짜 포맷터와 같은 로캘 인식 서비스를 만드는 경우에는 사용할 로캘을 지정해야 합니다. 지원되는 로캘 목록이 운영 체제마다 다르므로 요청된 로캘을 사용하지 못할 수 있습니다.

Flash Player는 먼저 요청된 로캘의 언어 코드와 일치시키려고 시도합니다. 그런 다음 일치하는 쓰기 시스템(스크립트) 및 지역을 검색하여 로캘을 세부적으로 지정합니다. 예를 들면 다음과 같습니다.

var loc:LocaleID = new LocaleID("es"); 
trace(loc.getLanguage()); // es 
trace(loc.getScript()); // Latn 
trace(loc.getRegion()); // ES

이 예제에서 LocaleID() 생성자는 사용자의 언어 코드 "es"와 가장 일치하는 로캘에 대한 정보를 검색합니다.

로캘 ID 설정

다음과 같은 여러 가지 방법으로 응용 프로그램의 현재 로캘을 설정할 수 있습니다.

  • 단일 로캘 ID를 응용 프로그램에 하드 코딩합니다. 이것은 일반적인 방식이지만 응용 프로그램의 국제화를 지원하지 않습니다.

  • 사용자의 운영 체제, 브라우저 또는 기타 사용자 환경 설정의 기본 로캘 ID를 사용합니다. 이렇게 하면 일반적으로 사용자에게 가장 적합한 로캘 설정이 구성되지만 정확하지 않은 경우도 있습니다. 운영 체제 설정이 사용자가 실제로 원하는 설정을 반영하지 않을 위험이 있습니다. 예를 들어 사용자가 공용 컴퓨터를 사용하므로 운영 체제의 기본 로캘을 변경하지 못할 수 있습니다.

  • 사용자의 환경 설정에 따라 로캘 ID를 설정한 후 사용자가 지원되는 로캘 목록에서 선택할 수 있게 합니다. 이 전략은 대개 응용 프로그램에서 둘 이상의 로캘을 지원할 수 있는 경우에 가장 적합한 선택이 될 수 있습니다.

이 세 번째 옵션을 구현하는 방법은 다음과 같습니다.

  1. 사용자 프로파일, 브라우저 설정, 운영 체제 설정 또는 쿠키에서 사용자의 기본 로캘 또는 언어 목록을 검색합니다. 이 경우 응용 프로그램 자체가 이 논리를 구현해야 합니다. flash.globalization 라이브러리로는 이러한 기본 설정을 직접 읽을 수 없습니다.

  2. 응용 프로그램에서 지원하는 로캘을 결정하고 가장 적합한 로캘을 기본값으로 선택합니다. LocaleID.determinePreferredLocales() 메서드를 사용하여 사용자의 기본 로캘과 운영 체제에서 지원되는 로캘에 따라 가장 적합한 로캘을 찾습니다.

  3. 기본 로캘이 만족스럽지 않은 경우 사용자가 기본 로캘 설정을 변경할 수 있는 방법을 제공합니다.

기타 로캘 및 언어 클래스의 제한 사항

fl.lang.Locale 클래스는 문자열 값을 포함한 리소스 번들을 사용하여 로캘을 기반으로 텍스트 문자열을 바꿀 수 있도록 합니다. 그러나 이 클래스는 숫자, 통화, 날짜 서식 지정, 정렬 및 일치 등의 기타 국제화 기능을 지원하지 않습니다. 또한 이 클래스는 Flash Professional에서만 사용할 수 있습니다.

flash.system.Capabilities.language 속성을 사용하여 운영 체제에 대한 현재 언어 코드 설정을 검색할 수도 있습니다. 그러나 이 속성은 전체 로캘 ID가 아닌 2문자 ISO 639-1 언어 코드만을 검색하고 특정 로캘 세트만을 지원합니다.

AIR 1.5에서 flash.system.Capabilities.languages 속성을 사용할 수 있습니다. 이 속성은 기본 사용자 인터페이스 언어 배열을 제공합니다. 따라서 Capabilities.language 의 제한 사항이 없습니다.