IResourceManager インタフェースと IResourceBundle インタフェースのローカリゼーション API は、ロケールインスタンスの代わりにロケールストリングを使用するので、アプリケーションでこのクラスを使用することはほとんどありません。
var locale:Locale = new Locale("en_US_MAC"); trace(locale.toString()); // outputs "en_US_MAC"
var locale:Locale = new Locale("en_US_MAC"); trace(locale.country); // outputs "US"
var locale:Locale = new Locale("en_US_MAC"); trace(locale.language); // outputs "en"
var locale:Locale = new Locale("en_US_MAC"); trace(locale.variant); // outputs "MAC"
ローカライズには、ロケール、リソースおよびリソースバンドルの 3 つの主要な概念が関係します。
ロケールは、アプリケーションをローカライズした後の言語と国を指定します。 たとえば、ロケール
リソースは、ロケールに依存した名前付きの値です。 たとえば、アプリケーションに
リソースバンドルは、値が特定のロケール用にローカライズされたリソースの、名前付きのグループです。 リソースバンドルは、
IResourceManager インタフェースを実装した単一の ResourceManager オブジェクトは、(場合によっては複数のロケールの)複数のリソースバンドルを管理し、リソースバンドルに含まれるリソースへのアクセスを提供します。 例えば、
UIComponent、Formatter または Validator を拡張するクラスはすべて、このインタフェースを実装するオブジェクトへの参照を提供する
リソースを取得する
アプリケーションを起動すると、アプリケーションにコンパイルされたリソースバンドルを使用して、ResourceManager が自動的に設定されます。 コードモジュールを作成すると、クラスに必要なリソースがデフォルトでモジュールにコンパイルされます。 モジュールがアプリケーションにロードされると、まだアプリケーションにないバンドルが ResourceManager に追加されます。
リソースのみを持つ "リソースモジュール" をコンパイルし、IResourceManager の
通常、ResourceManager は、アプリケーションにコンパイルされているかモジュールからロードしたリソースバンドルを使用して設定されますが、プログラムでリソースバンドルを作成し、
Flex サブアプリケーションまたはモジュールでコンパイル済みのリソースバンドルを ResourceManager に自動的に追加する場合は、メモリ内で位置が固定化されないように、
このメソッドは最初に
指定されたリソースが見つからない場合、このメソッドは
この配列内でのバンドル名の順序は決まっていません。
このメソッドは
IMAGE=Embed("image.jpg") BUTTON_SKIN=ClassReference("skins.ButtonSkin_en_US")
指定されたリソースが見つからない場合、このメソッドは
このメソッドは
MINIMUM=5
5 という値(
指定されたリソースが見つからない場合、このメソッドは 0 を返します。
この配列内でのロケールの順序は決まっていません。
このメソッドは
LONGITUDE=170.3
プロパティファイル内にこのような行があり、170.3 という値(
指定されたリソースが見つからない場合、このメソッドは
ResourceBundle の
指定されたリソースが見つからない場合、このメソッドは
このメソッドは、カンマで区切られた項目のリストが格納されたストリングをリソース値と見なします。 このメソッドは、
COUNTRIES=India, China, Japan
指定されたリソースが見つからない場合、このメソッドは
このメソッドは
指定されたリソースが見つからない場合、このメソッドは
このメソッドは
MINIMUM=5
5 という値(
指定されたリソースが見つからない場合、このメソッドは 0 を返します。
例えば、ユーザーがオペレーティングシステムでフランス語を使用するように指定していた場合に、SWF が en_US、fr_FR および de_DE のロケールでコンパイルされた場合は、
このメソッドは、IFlexModuleFactory インターフェイスを実装するクラスのみによって使用されます。
例えば、
このメソッドは、IFlexModuleFactory インターフェイスを実装するクラスのみによって使用されます。
このメソッドを呼び出すたびに、新しいイベント送出オブジェクトが返されます。そのオブジェクトを使用すると、ロードの進捗状況およびロードが正常に完了したかまたはエラーが発生したかを確認できます。 このオブジェクトは、
モジュールがロードされると、リソースバンドルが ResourceManager に追加されますが、
モジュールがアンロードされると、そのリソースバンドルは ResourceManager から削除されますが、
これにより、バインディング式に ResourceManager メソッドの
また、UIComponent、Formatter または Validator の
ResourceManager の
このような方法でリソースが検索されるので、ローカライズされたリソースの完全なセットがロケールに含まれていなくてもかまいません。 例えば、米国英語ではなくインド英語用にアプリケーションをローカライズする場合は、米国英語とはスペルまたは用法が異なる
多くのフレームワーククラスは、いくつかのロケールから必要なリソースを常に取得可能であることを前提としており、取得できない場合はエラーをスローします。 したがって、リソースの完全なセットが
このプロパティを設定すると、ResourceManager によって
IResourceManager 実装の単一のインスタンスで、Flex アプリケーションのローカライズされたすべてのリソースを管理します。
通常、Flex アプリケーションはこのクラスの複数のインスタンスを持ち、それらのすべてが ResourceManager クラスの単一のインスタンスによって管理されます。 ResourceBundle インスタンスは、それぞれが 1 つのロケールに対応する複数のバージョンが作成されます。 バンドル名の異なる複数の ResourceBundle インスタンスを共存させることができます。
独自の ResourceBundle インスタンスを作成する場合は、
ローカライズには、ロケール、リソースおよびリソースバンドルの 3 つの主要な概念が関係します。
ロケールは、アプリケーションをローカライズした後の言語と国を指定します。 たとえば、ロケール
リソースは、ロケールに依存した名前付きの値です。 たとえば、アプリケーションに
リソースバンドルは、値が特定のロケール用にローカライズされたリソースの、名前付きのグループです。 リソースバンドルは、
IResourceBundle インタフェースは、特定のリソースバンドルを表します。 ただし、ほとんどのアプリケーションで使用する必要があるのは IResourceManager のみです。 このインタフェースを実装した単一の ResourceManager オブジェクトは、(場合によっては複数のロケールの)複数のリソースバンドルを管理し、リソースバンドルに含まれるリソースへのアクセスを提供します。 たとえば、
通常、リソースバンドルを作成する必要はありません。リソースバンドルは ~~.properties ファイルから自動的にコンパイルされます。 MyResources.properties という名前のプロパティファイルの場合、
Flex のプロパティファイルは Java のプロパティファイルと似ていますが、Flex では MXML の
Flex フレームワークのリソースは、米国英語(
フレームワークリソース用のプロパティファイル(formatters.properties など)は、Flex SDK の frameworks/projects/framework/bundles/{locale}/src ディレクトリにあります。 通常、アプリケーションは、frameworks/libs ディレクトリ内の、Flex フレームワークのコンパイル済みライブラリである framework.swc にリンクします。 このライブラリ内にリソースはありません。 代わりに、フレームワークリソースは、framework_rb.swc などの個別のリソースバンドルライブラリにコンパイルされています。 これらのライブラリは frameworks/locales/{locale} ディレクトリにあり、アプリケーションもこれらの 1 つまたは複数のライブラリにリンクする必要があります。
アプリケーションの独自のリソースを、使いやすい任意のバンドルに編成できます。
アプリケーションを起動すると、アプリケーションにコンパイルされたリソースバンドルを使用して、ResourceManager が自動的に設定されます。 コードモジュールを作成すると、クラスに必要なリソースがデフォルトでモジュールにコンパイルされます。 モジュールがアプリケーションにロードされると、まだアプリケーションにないバンドルが ResourceManager に追加されます。
リソースのみを持つ "リソースモジュール" をコンパイルし、ResourceManager の
通常、ResourceManager は、アプリケーションにコンパイルされているかモジュールからロードしたリソースバンドルを使用して設定されますが、プログラムでリソースバンドルを作成し、
この読み取り専用のプロパティは、リソースバンドルを作成するときに設定されます。
コンパイル済みのプロパティファイルから自動的に作成されるリソースバンドルには、それらのファイルの名前に基づいてバンドル名が付けられます。 例えば、MyResources.properties という名前のプロパティファイルの場合、
ResourceManager は、同じ
リソースにアクセスするときは通常、リソースバンドル内のリソースに直接アクセスする代わりに、
var rb:IResourceBundle = new ResourceBundle("fr_FR", "MyResources"); rb.content["LANGUAGE"] = "Francais"; rb.content["GREETING"] = "Bonjour";
プロパティファイルをコンパイルしてリソースバンドルを作成すると、リソースの値は String 型または Class 型のいずれかになります。 例えば、プロパティファイルに次の内容が格納されているとします。
LANGUAGE=English MINIMUM_AGE=18 ENABLED=true LOGO=Embed("logo.png")
この場合、
この読み取り専用のプロパティは、リソースバンドルを作成するときに設定されます。
コンパイル済みのプロパティファイルから自動的に作成されるリソースバンドルには、mxmlc または compc