套件 | flash.globalization |
類別 | public final class LocaleID |
繼承 | LocaleID Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
詳細資訊
屬性 | 定義自 | ||
---|---|---|---|
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
lastOperationStatus : String [唯讀]
此 LocaleID 物件執行的最近作業狀態。 | LocaleID | ||
name : String [唯讀]
傳回較「標準化」的地區設定識別碼。 | LocaleID |
方法 | 定義自 | ||
---|---|---|---|
指定地區設定名稱,建構新 LocaleID 物件。 | LocaleID | ||
determinePreferredLocales(want:Vector.<String>, have:Vector.<String>, keyword:String = "userinterface"):Vector.<String> [靜態]
根據所需的地區設定清單以及目前可用的地區設定清單,傳回可接受的地區設定清單。 | LocaleID | ||
從 LocaleID 物件傳回包含所有鍵與值配對的物件。 | LocaleID | ||
傳回地區設定 ID 名稱指定的語言碼。 | LocaleID | ||
傳回地區設定 ID 名稱指定的區域碼。 | LocaleID | ||
傳回地區設定 ID 名稱指定的字集代碼。 | LocaleID | ||
傳回地區設定 ID 名稱指定的語言變體代碼。 | LocaleID | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指定特定地區設定的文字方向是否為由右至左。 | LocaleID | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object |
lastOperationStatus | 屬性 |
name | 屬性 |
name:String
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
傳回較「標準化」的地區設定識別碼。
此方法會對地區設定 ID 名稱進行下列轉換動作,賦予其較標準化的形式。
- 所有組件都會套用適當的大小寫。
- 底線會轉換為破折號。
不執行其他處理。例如,不會取代別名,也不會增減元素。
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
實作
public function get name():String
LocaleID | () | 建構函式 |
public function LocaleID(name:String)
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
指定地區設定名稱,建構新 LocaleID 物件。地區設定名稱必須符合 Unicode Technical Standard #35 (http://unicode.org/reports/tr35/) 所定義的語法。
若建構函式成功完成,lastOperationStatus
屬性就會被設為:
LastOperationStatus.NO_ERROR
若要求的地區設定 ID 名稱無法使用,則 lastOperationStatus
會被設為下列之一:
LastOperationStatus.USING_FALLBACK_WARNING
LastOperationStatus.USING_DEFAULT_WARNING
否則,lastOperationStatus
屬性會被設為 LastOperationStatus 類別中定義的常數之一。
如需有關上方列出的警告以及 lastOperationStatus
屬性的其他可能值的詳細資訊,請參閱 LastOperationStatus
類別的說明。
name:String — 地區設定 ID 名稱,亦可包含選用定序字串。例如:"en-US" 或 "de-DE@collation=phonebook"
|
擲回值
ArgumentError — 若名稱為 null。
|
相關 API 元素
determinePreferredLocales | () | 方法 |
public static function determinePreferredLocales(want:Vector.<String>, have:Vector.<String>, keyword:String = "userinterface"):Vector.<String>
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
根據所需的地區設定清單以及目前可用的地區設定清單,傳回可接受的地區設定清單。
結果清單根據偏好順序排序。
此方法的典型使用案例如下:
- 使用者會指定一份清單,列出自己懂的語言 (儲存於使用者描述檔、瀏覽器設定或 Cookie 中)。使用者會先列出自己最熟悉的語言,因此清單中的語言順序是相關的。此清單稱為「願望」清單。
- 應用程式當地語系化成多種不同語言版本。此清單稱為「擁有」清單。
determinePreferredLocales()
方法會傳回兩份清單中重複的部分,並將使用者偏好的語言列在前面。
若目前的作業系統不支援此功能,此方法會傳回 null 值。
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
參數
want:Vector.<String> — 使用者偏好地區設定的清單,根據偏好順序排序。
| |
have:Vector.<String> — 應用程式可用的地區設定清單。此清單中的排列順序並不重要。
| |
keyword:String (default = "userinterface ") — 用來協助判斷最適合者的關鍵字。
|
Vector.<String> — 可用地區設定的子集,根據使用者偏好設定排序。
|
相關 API 元素
getKeysAndValues | () | 方法 |
public function getKeysAndValues():Object
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
從 LocaleID 物件傳回包含所有鍵與值配對的物件。
傳回的物件結構為雜湊表或關聯陣列,其中各屬性名稱代表一個鍵,屬性的值就是鍵的值。例如,下列程式碼會列出使用 getKeysAndValues()
方法從 LocaleID 物件取得的所有索引鍵和值:
var myLocale:LocaleID = new LocaleID("fr-CA"); var localeData:Object = myLocale.getKeysAndValues(); for (var propertyName:String in localeData) { trace(propertyName + " = " + localeData[propertyName]); }
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
Object — 包含 LocaleID 物件中所有鍵與值配對的物件,其結構為關聯陣列或 Hashtable。
|
相關 API 元素
getLanguage | () | 方法 |
public function getLanguage():String
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
傳回地區設定 ID 名稱指定的語言碼。
若無法正確剖析地區設定名稱,則語言碼會與完整地區設定名稱相同。
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
String — 解析地區設定 ID 名稱所得的二字元語言碼。
|
相關 API 元素
getRegion | () | 方法 |
public function getRegion():String
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
傳回地區設定 ID 名稱指定的區域碼。
若無法剖析或猜測區域代碼,此方法會傳回空字串。若使用「xy」等未知或不完整的地區設定 ID 名稱,就可能發生此情況。未對照固定清單驗證區域代碼。例如,地區設定 ID 名稱「xx-YY」傳回的區域代碼是「YY」。
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
若區域不是指定地區設定名稱的一部分,則該地區設定的區域代碼很有可能是「猜的」,且 lastOperationStatus
屬性會被設為 LastOperationStatus.USING_FALLBACK_WARNING
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
String — 二字元區域代碼,或空字串 (若無法剖析區域代碼或以其他方式從地區設定名稱取得區域代碼)。
|
相關 API 元素
getScript | () | 方法 |
public function getScript():String
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
傳回地區設定 ID 名稱指定的字集代碼。
若無法剖析或猜測字集代碼,此方法會傳回空字串。若使用「xy」等未知或不完整的地區設定 ID 名稱,就可能發生此情況。未對照固定清單驗證字集代碼。例如,「xx-Abcd-YY」地區設定 ID 名稱傳回的字集代碼是「Abcd」。
區域與語言也會影響傳回值。例如,「mn-MN」(蒙古文-蒙古) 的字集代碼是「Cyrl」(斯拉夫文),而「mn-CN」(蒙古文-中國) 的字集代碼為「Mong」(蒙古文)。
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
若字集代碼不是指定地區設定名稱的一部分,則字集代碼很有可能是「猜的」,且 lastOperationStatus
屬性會被設為 LastOperationStatus.USING_FALLBACK_WARNING
。
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
String — 四字元指令碼代碼,或空字串 (若無法剖析指令碼代碼或以其他方式從地區設定名稱取得指令碼代碼)。
|
相關 API 元素
getVariant | () | 方法 |
public function getVariant():String
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
傳回地區設定 ID 名稱指定的語言變體代碼。
若指定的地區設定 ID 名稱中沒有語言變體代碼,此方法會傳回空字串。(無須進行猜測,因為僅有少數地區設定具備或需要語言變體)。
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
String — 語言變體代碼,或若地區設定 ID 名稱不包含語言變體代碼,則為空字串。
|
相關 API 元素
isRightToLeft | () | 方法 |
public function isRightToLeft():Boolean
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
指定特定地區設定的文字方向是否為由右至左。
結果可用來判斷 Flash 文字引擎中的文字方向,並決定是否需鏡像使用者介面,以支援目前的文字方向。
當此方法被呼叫並成功完成時,lastOperationStatus
屬性會被設為:
LastOperationStatus.NO_ERROR
否則,lastOperationStatus
屬性會被設為 LastOperationStatus
類別中定義的常數之一。
Boolean — 若一般文字方向在一行文字中是由右至左,則為 true ,反之則為 false ;
|
相關 API 元素
DEFAULT | 常數 |
public static const DEFAULT:String = "i-default"
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
指示應使用使用者作業系統中指定的使用者預設語言偏好設定。例如,這種偏好設定在 Windows 上通常使用「控制台」進行設定,在 Mac OS X 上則為「系統偏好設定」。
使用 LocaleID.DEFAULT
設定會導致在不同類型作業中使用不同的地區設定 ID 名稱。例如,使用一種地區設定進行排序,使用另一種地區設定進行格式化。此彈性重視使用者偏好設定,且此類別依設計會以此方式運作。
此地區設定識別碼不一定是最適用者。對於在瀏覽器中執行的應用程式,瀏覽器偏好的地區設定才是較佳選擇。我們建議讓使用者能夠修改偏好的地區設定 ID 名稱設定,並將偏好設定保留在使用者描述檔、Cookie 或共享物件中。
此範例使用下列地區設定:阿拉伯文 (沙烏地阿拉伯)、英文 (美國)、英文 (美國,POSIX 變體)、中文 (中國大陸)、中文 (台灣 )、中文 (簡體漢書)、中文 (中國大陸與多項按鍵與值)
此範例會為清單中的每一個地區設定執行以下動作:
- 建立新的 LocaleID 物件。
- 顯示 LocaleID 的各種屬性。 根據您的作業系統和使用偏好設定,顯示的值會不一樣。
- 顯示 LocaleID 的完整按鍵與值。
package { import flash.display.Sprite; import flash.globalization.LocaleID; public class LocaleIDExample extends Sprite { public function LocaleIDExample() { var localeNames:Array = ["ar-SA", "EN_us", "en-US-POSIX", "zh-CH", "zh-TW", "zh-Hans", "zh-CH@collation=pinyin;calendar=chinese;currency=RMB"]; for ( var i:int = 0; i < localeNames.length; i++ ) { var locID:LocaleID = new LocaleID( localeNames[i] as String ); trace('\n\n' + "LocaleID requested: " + locID.requestedLocaleIDName + "; actual: " + locID.actualLocaleIDName); trace( "Last Operation Status after new LocaleID: " + locID.lastOperationStatus); trace("name: " + locID.name); trace("language: " + locID.getLanguage() + "; status: " + locID.lastOperationStatus); trace("script: " + locID.getScript() + "; status: " + locID.lastOperationStatus); trace("region: " + locID.getRegion() + "; status: " + locID.lastOperationStatus); trace("variant: " + locID.getVariant() + "; status: " + locID.lastOperationStatus); trace("isRightToLeft: ", locID.isRightToLeft(), "; status: " + locID.lastOperationStatus); var keysAndValues:Object = locID.getKeysAndValues(); var key:String; for (key in keysAndValues) { trace("key: ", key + " value: " + keysAndValues[ key ]); } trace( "Last Operation Status after getKeysAndValues(): " + locID.lastOperationStatus); } } } }
Tue Jun 12 2018, 03:47 PM Z