패키지 | fl.lang |
클래스 | public class Locale |
상속 | Locale EventDispatcher Object |
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
-
"automatically at runtime"
— Flash Player에서 문자열 ID를 flash.system.capabilities.language에서 반환하는 기본 시스템 언어 코드와 일치하는 XML 파일의 문자열로 바꿉니다. -
"manually using stage language"
— 컴파일할 때 문자열 ID가 문자열로 바뀌며 Flash Player에서 변경할 수 없습니다. -
"via ActionScript at runtime"
— 런타임에 ActionScript를 사용하여 문자열 ID 바꾸는 작업을 제어합니다. 이 옵션을 사용하면 문자열 ID를 바꾸는 시간과 언어를 모두 제어할 수 있습니다.
"via ActionScript at runtime" 문자열 ID를 바꾸려는 경우 이 클래스의 속성과 메서드를 사용할 수 있습니다.
사용 가능한 속성과 메서드는 모두 정적 요소이므로, 클래스 인스턴스가 아닌 fl.lang.Locale 클래스 자체를 통해 액세스할 수 있습니다.
참고: Locale 클래스는 Flash 제작 클래스 경로에 설치되어 있으며 자동으로 SWF 파일로 컴파일됩니다. 따라서 Locale 클래스를 사용하면 이 Locale 클래스가 SWF로 컴파일되므로 SWF 파일의 크기가 조금 커집니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
autoReplace : Boolean [정적]
XML 파일을 로드한 후 문자열을 자동으로 바꿀지 여부를 결정합니다. | Locale | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
languageCodeArray : Array [정적] [읽기 전용]
지정되었거나 FLA 파일로 로드된 언어의 언어 코드가 포함된 배열입니다. | Locale | ||
stringIDArray : Array [정적] [읽기 전용]
FLA 파일의 모든 문자열 ID가 포함된 배열입니다. | Locale |
메서드 | 정의 주체 | ||
---|---|---|---|
[정적]
나중에 사용할 수 있도록 내부 배열에 {instance, string ID} 쌍을 추가합니다. | Locale | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | ||
[정적]
나중에 사용할 수 있도록 내부 배열에 {languageCode 및 languagePath} 쌍을 추가합니다. | Locale | ||
[정적]
XML 파일이 로드되면 true를 반환하고, 그렇지 않으면 false를 반환합니다. | Locale | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
[정적]
[문자열] 패널 대화 상자에서 설정했거나 setDefaultLang() 메서드를 호출하여 얻은 기본 언어 코드입니다. | Locale | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
[정적]
사용할 언어를 자동으로 결정하고 XML 언어 파일을 로드합니다. | Locale | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
[정적]
지정한 XML 언어 파일을 로드합니다. | Locale | ||
[정적]
현재 언어의 지정된 문자열 ID와 관련된 문자열 값을 반환합니다. | Locale | ||
[정적]
지정된 문자열 ID 및 언어 코드와 관련된 문자열 값을 반환합니다. | Locale | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
[정적]
기본 언어 코드를 설정합니다. | Locale | ||
[정적]
XML 파일을 로드한 후 호출할 콜백 함수를 설정합니다. | Locale | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
[정적]
지정된 문자열 ID 및 언어 코드의 새로운 문자열 값을 설정합니다. | Locale | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
autoReplace | 속성 |
autoReplace:Boolean
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
XML 파일을 로드한 후 문자열을 자동으로 바꿀지 여부를 결정합니다. true
로 설정된 경우 텍스트 대체 방법은 [문자열] 패널의 "automatically at runtime"
설정과 동일합니다. 따라서 Flash Player에서는 호스트 환경의 기본 언어를 파악하여 자동으로 해당 언어로 텍스트를 표시합니다. false
로 설정된 경우 텍스트 대체 방법은 [문자열] 패널의 "via ActionScript at runtime"
설정과 동일합니다. 따라서 텍스트를 표시하려면 해당 XML 파일을 직접 로드해야 합니다.
이 속성의 기본값은 [문자열] 패널 대화 상자에서 선택한 [문자열 바꾸기] 설정에 따라 결정됩니다. "automatically at runtime"
(기본 설정)인 경우에는 true
가, "via ActionScript at runtime"인 경우에는 false
가 됩니다.
구현
public static function get autoReplace():Boolean
public static function set autoReplace(value:Boolean):void
예제 ( 예제 사용 방법 )
Locale.autoReplace
속성을 사용하여 영어 XML 파일의 IDS_GREETING
문자열 내용으로 스테이지의 동적으로 만든 greeting_txt
텍스트 필드를 채웁니다. [문자열] 패널에서 [설정] 버튼을 클릭하여 [설정] 대화 상자를 엽니다. [설정] 대화 상자를 사용하여 두 개의 활성 언어(예: 영어(en) 및 프랑스어(fr))를 추가하고 문자열 바꾸기 라디오 옵션을 "via ActionScript at runtime"
으로 설정한 다음 [확인]을 클릭합니다. 마지막으로 [문자열] 패널에 IDS_GREETING이라는 문자열 ID를 입력한 다음 각 활성 언어에 대한 텍스트를 추가합니다.
var greeting_txt:TextField = new TextField(); greeting_txt.x = 40; greeting_txt.y = 40; greeting_txt.width = 200; greeting_txt.height = 20; greeting_txt.autoSize = TextFieldAutoSize.LEFT; Locale.autoReplace = true; Locale.addDelayedInstance(greeting_txt, "IDS_GREETING"); Locale.loadLanguageXML("en");
languageCodeArray | 속성 |
languageCodeArray:Array
[읽기 전용] 언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
지정되었거나 FLA 파일로 로드된 언어의 언어 코드가 포함된 배열입니다. 이 언어 코드는 알파벳순으로 정렬되지 않습니다.
구현
public static function get languageCodeArray():Array
예제 ( 예제 사용 방법 )
lang_cb
로 지정합니다. [텍스트] 도구를 사용하여 동적 텍스트 필드를 만들고 인스턴스 이름을 greeting_txt
로 지정합니다. [문자열] 패널에서 두 개 이상의 활성 언어를 추가하고 문자열 바꾸기 라디오 옵션을 "via ActionScript at runtime"
으로 설정한 다음 [확인]을 클릭합니다. 그런 다음, IDS_GREETING의 문자열 ID를 추가하고 각 활성 언어에 대한 텍스트를 입력합니다. 마지막으로, 다음 ActionScript 코드를 기본 타임라인의 프레임 1에 추가합니다.
Locale.setLoadCallback(localeListener); lang_cb.dataProvider = Locale.languageCodeArray.sort(); lang_cb.addEventListener("change", langListener); function langListener(eventObj:Object):void { Locale.loadLanguageXML(eventObj.target.value); } function localeListener(success:Boolean):void { if (success) { greeting_txt.text = Locale.loadString("IDS_GREETING"); } else { greeting_txt.text = "unable to load language XML file."; } }
stringIDArray | 속성 |
stringIDArray:Array
[읽기 전용] 언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
FLA 파일의 모든 문자열 ID가 포함된 배열입니다. 문자열 ID는 알파벳순으로 정렬되지 않습니다.
구현
public static function get stringIDArray():Array
예제 ( 예제 사용 방법 )
Locale.stringIDArray
속성을 추적합니다. [문자열] 패널의 [설정] 버튼을 클릭하여 [설정] 대화 상자를 엽니다. 그런 다음 두 개의 활성 언어(예: 영어(en) 및 프랑스어(fr))를 추가하고 문자열 바꾸기 라디오 컨트롤을 "via ActionScript at runtime"
으로 설정한 다음 [확인]을 클릭합니다. [문자열] 패널에서 IDS_GREETING이라는 문자열 ID를 추가한 다음 각 활성 언어에 대한 텍스트를 추가합니다.
Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML("fr"); function localeCallback(success:Boolean) { trace(success); trace(Locale.stringIDArray); // IDS_GREETING trace(Locale.loadStringEx("IDS_GREETING", "fr")); // bonjour }
addDelayedInstance | () | 메서드 |
public static function addDelayedInstance(instance:Object, stringID:String):*
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
나중에 사용할 수 있도록 내부 배열에 {instance, string ID} 쌍을 추가합니다. 이 메서드는 문자열 대체 방법이 "automatically at runtime"
인 경우 Flash에서 기본적으로 사용됩니다.
매개 변수
instance:Object — 채울 텍스트 필드의 인스턴스 이름입니다.
| |
stringID:String — 언어 문자열 ID입니다.
|
* |
예제 ( 예제 사용 방법 )
autoReplace
속성과 addDelayedInstance()
메서드를 사용하여 영어 XML 언어 파일의 IDS_GREETING
문자열로 스테이지의 텍스트 필드를 채웁니다.
greeting_txt.autoSize = TextFieldAutoSize.LEFT; Locale.autoReplace = true; Locale.addDelayedInstance(greeting_txt, "IDS_GREETING"); Locale.loadLanguageXML("en");
addXMLPath | () | 메서드 |
public static function addXMLPath(langCode:String, path:String):void
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
나중에 사용할 수 있도록 내부 배열에 {languageCode 및 languagePath} 쌍을 추가합니다. 이 메서드는 문자열 대체 방법이 "automatically at runtime"
또는 "via ActionScript at runtime"
인 경우 Flash Player에서 기본적으로 사용됩니다. 이 메서드를 사용하면 Flash Professional에서 설정한 기본 위치가 아닌 사용자 정의 위치에서 XML 언어 파일을 로드할 수 있습니다. 기본적으로 Flash Professional은 작업 디렉토리 아래에 FLA 파일 이름으로 하위 디렉토리를 만들어 각 언어의 XML 파일을 생성합니다.
매개 변수
langCode:String — 언어 코드입니다.
| |
path:String — 추가할 XML 경로입니다.
|
예제 ( 예제 사용 방법 )
Locale.addXMLPath("en", "locale/locale_en.xml"); Locale.addXMLPath("fr", "locale/locale_fr.xml"); Locale.setLoadCallback(Delegate.create(this, languageLoaded)); Locale.loadLanguageXML("en"); private function languageLoaded(success:Boolean):Void { trace(Locale.loadString("IDS_HELLO");
checkXMLStatus | () | 메서드 |
public static function checkXMLStatus():Boolean
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
XML 파일이 로드되면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Boolean — XML 파일이 로드되면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
|
예제 ( 예제 사용 방법 )
greeting_txt
텍스트 필드 인스턴스가 해당 XML 언어 파일의 IDS_GREETING
문자열로 채워집니다.
Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML("en"); // create interval to check if language XML file is loaded var locale_int:Number = setInterval(checkLocaleStatus, 10); function checkLocaleStatus():void { if (Locale.checkXMLStatus()) { clearInterval(locale_int); trace("clearing interval @ " + getTimer() + " ms"); } } // callback function for Locale.setLoadCallback() function localeCallback(success:Boolean):void { greeting_txt.text = Locale.loadString("IDS_GREETING"); }
getDefaultLang | () | 메서드 |
public static function getDefaultLang():String
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
[문자열] 패널 대화 상자에서 설정했거나 setDefaultLang()
메서드를 호출하여 얻은 기본 언어 코드입니다.
String — 기본 언어 코드를 반환합니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
defLang
이라는 변수를 만듭니다. [문자열] 패널의 [설정] 버튼을 클릭하여 [설정] 대화 상자를 시작합니다. 그런 다음 두 개의 활성 언어(예: 영어(en) 및 프랑스어(fr))를 추가하고 문자열 바꾸기 라디오 컨트롤을 "via ActionScript at runtime"
으로 설정한 다음 [확인]을 클릭합니다. [문자열] 패널에서 IDS_GREETING이라는 문자열 ID를 추가한 다음 각 활성 언어에 대한 텍스트를 추가합니다.
var defLang:String = "fr"; Locale.setDefaultLang(defLang); Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML(Locale.getDefaultLang()); function localeCallback(success:Boolean) { if (success) { trace(Locale.stringIDArray); // IDS_GREETING trace(Locale.loadString("IDS_GREETING")); } else { trace("unable to load XML"); } }
initialize | () | 메서드 |
public static function initialize():void
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
사용할 언어를 자동으로 결정하고 XML 언어 파일을 로드합니다. 이 메서드는 문자열 대체 방법이 "automatically at runtime"
인 경우 Flash에서 기본적으로 사용됩니다.
예제 ( 예제 사용 방법 )
initialize()
메서드를 사용하여 사용자의 현재 운영 체제 언어로 스테이지의 greeting_txt
텍스트 필드를 자동으로 채우는 방법을 보여 줍니다. initialize()
메서드를 직접 사용하는 대신 문자열 바꾸기 방법으로 "automatically at runtime"
을 사용합니다.
trace(System.capabilities.language); Locale.autoReplace = true; Locale.addDelayedInstance(greeting_txt, "IDS_GREETING"); Locale.initialize();
loadLanguageXML | () | 메서드 |
public static function loadLanguageXML(xmlLanguageCode:String, customXmlCompleteCallback:Function = null):void
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
지정한 XML 언어 파일을 로드합니다.
매개 변수
xmlLanguageCode:String — 로드할 XML 언어 파일의 언어 코드입니다.
| |
customXmlCompleteCallback:Function (default = null ) — XML 언어 파일이 로드될 때 호출할 사용자 정의 콜백 함수입니다.
|
예제 ( 예제 사용 방법 )
loadLanguageXML()
메서드를 사용하여 영어(en) XML 언어 파일을 로드합니다. 언어 파일이 로드되면 localeCallback()
메서드가 호출되어 XML 파일의 IDS_GREETING
문자열 내용으로 스테이지의 greeting_txt
텍스트 필드를 채웁니다.
Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML("en"); // create interval to check if language XML file is loaded var locale_int:Number = setInterval(checkLocaleStatus, 10); function checkLocaleStatus():void { if (Locale.checkXMLStatus()) { clearInterval(locale_int); trace("clearing interval @ " + getTimer() + " ms"); } } // callback function for Locale.setLoadCallback() function localeCallback(success:Boolean):void { greeting_txt.text = Locale.loadString("IDS_GREETING"); }
loadString | () | 메서드 |
public static function loadString(id:String):String
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
현재 언어의 지정된 문자열 ID와 관련된 문자열 값을 반환합니다.
매개 변수
id:String — 로드할 문자열의 식별(ID) 번호입니다.
|
String — 현재 언어의 지정된 문자열 ID와 관련된 문자열 값입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
greeting_txt
텍스트 필드 인스턴스가 해당 XML 언어 파일의 IDS_GREETING
문자열로 채워집니다.
Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML("en"); // create interval to check if language XML file is loaded var locale_int:Number = setInterval(checkLocaleStatus, 10); function checkLocaleStatus():void { if (Locale.checkXMLStatus()) { clearInterval(locale_int); trace("clearing interval @ " + getTimer() + " ms"); } } // callback function for Locale.setLoadCallback() function localeCallback(success:Boolean):void { greeting_txt.text = Locale.loadString("IDS_GREETING"); }
loadStringEx | () | 메서드 |
public static function loadStringEx(stringID:String, languageCode:String):String
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
지정된 문자열 ID 및 언어 코드와 관련된 문자열 값을 반환합니다. 원치 않는 XML 파일이 로드되지 않도록 XML 파일이 아직 로드되지 않은 경우 loadStringEx()
는 해당 XML 언어 파일을 로드하지 않습니다. XML 언어 파일을 로드하려면 loadLanguageXML()
메서드를 호출할 적당한 시기를 결정해야 합니다.
매개 변수
stringID:String — 로드할 문자열의 식별(ID) 번호입니다.
| |
languageCode:String — 언어 코드입니다.
|
String — languageCode 매개 변수에 의해 지정된 언어의 해당 문자열 ID와 관련된 문자열 값입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
loadStringEx()
메서드를 사용하여 현재 로드된 프랑스어 XML 언어 파일의 IDS_GREETING
문자열 값을 추적합니다.
Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML("fr"); function localeCallback(success:Boolean) { trace(success); trace(Locale.stringIDArray); // IDS_GREETING trace(Locale.loadStringEx("IDS_GREETING", "fr")); // bonjour }
setDefaultLang | () | 메서드 |
public static function setDefaultLang(langCode:String):void
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
기본 언어 코드를 설정합니다.
매개 변수
langCode:String — 언어 코드를 나타내는 문자열입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
defLang
이라는 변수를 만듭니다. [문자열] 패널의 [설정] 버튼을 클릭하여 [설정] 대화 상자를 엽니다. 그런 다음 두 개의 활성 언어(예: 영어(en) 및 프랑스어(fr))를 추가하고 문자열 바꾸기 라디오 컨트롤을 "via ActionScript at runtime"
으로 설정한 다음 [확인]을 클릭합니다. [문자열] 패널에서 IDS_GREETING이라는 문자열 ID를 추가한 다음 각 활성 언어에 대한 텍스트를 추가합니다.
var defLang:String = "fr"; Locale.setDefaultLang(defLang); Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML(Locale.getDefaultLang()); function localeCallback(success:Boolean) { if (success) { trace(Locale.stringIDArray); // IDS_GREETING trace(Locale.loadString("IDS_GREETING")); } else { trace("unable to load XML"); } }
setLoadCallback | () | 메서드 |
public static function setLoadCallback(loadCallback:Function):*
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
XML 파일을 로드한 후 호출할 콜백 함수를 설정합니다.
매개 변수
loadCallback:Function — XML 언어 파일이 로드될 때 호출할 함수입니다.
|
* |
예제 ( 예제 사용 방법 )
greeting_txt
텍스트 필드 인스턴스가 해당 XML 언어 파일의 IDS_GREETING
문자열로 채워집니다.
Locale.setLoadCallback(localeCallback); Locale.loadLanguageXML("en"); // create interval to check if language XML file is loaded var locale_int:Number = setInterval(checkLocaleStatus, 10); function checkLocaleStatus():void { if (Locale.checkXMLStatus()) { clearInterval(locale_int); trace("clearing interval @ " + getTimer() + " ms"); } } // callback function for Locale.setLoadCallback() function localeCallback(success:Boolean):void { greeting_txt.text = Locale.loadString("IDS_GREETING"); }
setString | () | 메서드 |
public static function setString(stringID:String, languageCode:String, stringValue:String):void
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9, AIR 1.0 |
지정된 문자열 ID 및 언어 코드의 새로운 문자열 값을 설정합니다.
매개 변수
stringID:String — 설정할 문자열의 식별(ID) 번호입니다.
| |
languageCode:String — 언어 코드입니다.
| |
stringValue:String — 문자열 값입니다.
|
예제 ( 예제 사용 방법 )
setString()
메서드를 사용하여 영어(en)와 프랑스어(fr) 둘 다에 대해 IDS_WELCOME
문자열을 설정합니다.
Locale.setString("IDS_WELCOME", "en", "hello"); Locale.setString("IDS_WELCOME", "fr", "bonjour"); trace(Locale.loadStringEx("IDS_WELCOME", "en")); // hello
Tue Jun 12 2018, 03:17 PM Z