| 包 | fl.lang |
| 类 | public class Locale |
| 继承 | Locale EventDispatcher Object |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS3 |
| 运行时版本: | Flash Player 9, AIR 1.0 |
-
"automatically at runtime"-- Flash Player 使用来自 XML 文件的字符串替换字符串 ID,该 XML 文件与 flash.system.capabilities.language 返回的默认系统语言代码相匹配。 -
"manually using stage language"-- 在编译时使用字符串替换字符串 ID,并且无法由 Flash Player 更改字符串 ID。 -
"via ActionScript at runtime"-- 在运行时使用 ActionScript 控制字符串 ID 替换。利用此选项,您可以控制字符串 ID 替换的时间和语言。
当您要在“运行时通过 ActionScript”来替换字符串 ID 时,可以使用此类的属性和方法。
所有可用的属性和方法都是静态的,这意味着要通过 fl.lang.Locale 类本身而不是通过该类的实例来访问它们。
注意:Locale 类安装在 Flash 创作类路径中,并自动编译到您的 SWF 文件中。由于 Locale 类将编译到 SWF 中,所以使用该类会稍微增加 SWF 文件的大小。
相关 API 元素
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| autoReplace : Boolean [静态]
确定是否在加载 XML 文件后自动替换字符串。 | Locale | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| languageCodeArray : Array [静态] [只读]
包含语言代码的数组,这些代码对应着指定的语言或加载到 FLA 文件中的语言。 | Locale | ||
| stringIDArray : Array [静态] [只读]
包含 FLA 文件中所有字符串 ID 的数组。 | Locale | ||
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
[静态]
将 {实例, 字符串 ID} 对添加到内部数组中,供以后使用。 | Locale | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
[静态]
将 {语言代码和语言路径} 对添加到内部数组中,供以后使用。 | 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 文件以显示文本。
此属性的默认值反映了您在“字符串”面板对话框中为“替换”字符串选择的设置:true 表示 "automatically at runtime"(默认设置),而 false 表示“运行时通过 ActionScript”。
实现
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 代码添加到主时间轴的第一帧中:
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 |
将 {实例, 字符串 ID} 对添加到内部数组中,供以后使用。它主要由 Flash 在字符串替换方法为 "automatically at runtime" 时使用。
参数
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 |
将 {语言代码和语言路径} 对添加到内部数组中,供以后使用。 这主要由 Flash Player 在字符串的替换方法是“在运行时自动执行”或“在运行时通过 ActionScript 执行”时使用。此方法允许您从自定义位置而不是 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。
|
示例 ( 如何使用本示例 )
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");
}
getDefaultLang | () | 方法 |
public static function getDefaultLang():String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS3 |
| 运行时版本: | Flash Player 9, AIR 1.0 |
在“字符串”面板对话框中或通过调用 setDefaultLang() 方法设置的默认语言代码。
String — 返回默认的语言代码。
|
相关 API 元素
示例 ( 如何使用本示例 )
defLang 的变量,它用于保存 Flash 文档的初始默认语言。单击“字符串”面板中的“设置”按钮以启动“设置”对话框。然后添加两种活动语言:英语 (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 语言文件。它主要由 Flash 在字符串替换方法为 "automatically at runtime" 时使用。
示例 ( 如何使用本示例 )
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 元素
示例 ( 如何使用本示例 )
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");
}
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 — 与给定字符串 ID 相关联的字符串值,采用由 languageCode 参数指定的语言。
|
相关 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 的变量,它用于保存 Flash 文档的初始默认语言。单击“字符串”面板中的“设置”按钮以打开“设置”对话框。然后添加两种活动语言:英语 (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 语言文件时调用的函数。
|
* |
示例 ( 如何使用本示例 )
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");
}
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, 11:04 AM Z
隐藏继承的公共属性
显示继承的公共属性