ロケールは、言語と、国または地域の文化に基づく表記規則の特定の組み合わせを識別します。
ロケール識別子は、文字列として安全に管理できます。ただし、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」に最も一致するロケールに関するデータを取得しました。
ロケールと言語用の他のクラスでの制限
fl.lang.Locale
クラスを使用すると、文字列値を含むリソースバンドルを使用して、ロケールに基づいてテキスト文字列を置き換えることができます。ただし、このクラスは、数、通貨、日付の形式の設定、並べ替え、一致など、その他の国際化機能をサポートしていません。さらに、このクラスは Flash Professional のみでしか使用できません。
また、
flash.system.Capabilities.language
プロパティを使用して、オペレーティングシステムの現在の言語コード設定を取得できます。ただし、このプロパティは、完全なロケール ID ではなく、2 文字表記の ISO 639-1 言語コードのみを取得し、特定のロケールセットのみをサポートします。
AIR 1.5 では、
flash.system.Capabilities.languages
プロパティを使用できます。このプロパティは、ユーザーが優先するユーザーインターフェイスの言語の配列を提供します。したがって、このプロパティには
Capabilities.language
の制限はありません。