| パッケージ | mx.resources |
| インターフェイス | public interface IResourceManager extends IEventDispatcher |
| 実装者 | ResourceManagerImpl |
ローカライズには、ロケール、リソースおよびリソースバンドルの 3 つの主要な概念が関係します。
ロケールは、アプリケーションをローカライズした後の言語と国を指定します。 例えば、ロケール "en_US" は、米国で使用される英語を指定します。詳細については、mx.resources.Locale クラスを参照してください。
リソースは、ロケールに依存した名前付きの値です。 例えば、アプリケーションに "OPEN" という名前のリソースがある場合、英語ロケールでのそのリソースの値は "Open" です。一方、フランス語ロケールの場合、値は "Ouvrir" です。
リソースバンドルは、値が特定のロケール用にローカライズされたリソースの、名前付きのグループです。 リソースバンドルは、bundleName と locale の組み合わせによって識別され、バンドルのリソースの名前と値のペアを含む content オブジェクトを持っています。 プロパティファイルからリソースバンドルを作成する一般的な方法については、mx.resources.IResourceBundle のドキュメントを参照してください。
IResourceManager インタフェースを実装した単一の ResourceManager オブジェクトは、(場合によっては複数のロケールの)複数のリソースバンドルを管理し、リソースバンドルに含まれるリソースへのアクセスを提供します。 例えば、resourceManager.getString(bundleName, resourceName) ) を呼び出すことにより、特定のリソースをストリングとして取得できます。
UIComponent、Formatter または Validator を拡張するクラスはすべて、このインタフェースを実装するオブジェクトへの参照を提供する resourceManager プロパティを持っています。 それ以外のクラスは、ResourceManager.getInstance() を呼び出すことでこのオブジェクトを取得できます。
リソースを取得する getString() などのメソッドは、localeChain プロパティに指定されたロケールのリソースを検索します。このプロパティを変更すると、例えばアプリケーションで使用している英語リソースを、即座に日本語リソースに切り替えることができます。
アプリケーションを起動すると、アプリケーションにコンパイルされたリソースバンドルを使用して、ResourceManager が自動的に設定されます。 コードモジュールを作成すると、クラスに必要なリソースがデフォルトでモジュールにコンパイルされます。 モジュールがアプリケーションにロードされると、まだアプリケーションにないバンドルが ResourceManager に追加されます。
リソースのみを持つ「リソースモジュール」をコンパイルし、IResourceManager の loadResourceModule() メソッドを使用してそれらをロードできます。リソースモジュールを使用すると、リソースをアプリケーションにコンパイルする代わりに、実行時に必要なリソースをロードして複数のロケールをサポートできます。
通常、ResourceManager は、アプリケーションにコンパイルされているかモジュールからロードしたリソースバンドルを使用して設定されますが、プログラムでリソースバンドルを作成し、addResourceBundle() メソッドを使用して ResourceManager に追加することもできます。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
| localeChain : Array
リソースに対する検索で検索対象の 1 つまたは複数のロケールを指定する、[ "en_US" ] などのロケールストリングの配列です。 | IResourceManager | ||
| メソッド | 定義元 | ||
|---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | IEventDispatcher | |
指定された ResourceBundle が ResourceManager に追加され、getString() などの ResourceManager メソッドでそのリソースにアクセスできるようになります。 | IResourceManager | ||
![]() |
イベントをイベントフローに送出します。 | IEventDispatcher | |
指定されたリソースの localeChain 内のロケールを検索し、最初に検出したリソースバンドルを返します。 | IResourceManager | ||
ブール型として指定されているリソースの値を取得します。 | IResourceManager | ||
ResourceManager に存在し、指定されたロケールに属するすべての ResourceBundle オブジェクトのバンドル名を指定するストリングの配列を返します。 | IResourceManager | ||
クラスとして指定されているリソースの値を取得します。 | IResourceManager | ||
整数として指定されているリソースの値を取得します。 | IResourceManager | ||
ResourceManager に存在する ResourceBundle オブジェクトのすべてのロケールを指定するストリングの配列を返します。 | IResourceManager | ||
数値として指定されているリソースの値を取得します。 | IResourceManager | ||
オブジェクトとして指定されているリソースの値を取得します。 | IResourceManager | ||
Capabilities.language または Capabilities.languages により報告されたように、ユーザー環境設定を使用して順序付けられた、ResourceManager に存在する ResourceBundle オブジェクトのすべてのロケールを指定するストリングの配列を返します。 | IResourceManager | ||
以前に addResourceBundle() を使用して ResourceManager に追加された、指定された locale と bundleName を持つ ResourceBundle を返します。 | IResourceManager | ||
getString(bundleName:String, resourceName:String, parameters:Array = null, locale:String = null):String
プレースホルダを指定された値に置き換えた後で、ストリングとして指定されたリソースの値を取得します。 | IResourceManager | ||
ストリングの配列として指定されているリソースの値を取得します。 | IResourceManager | ||
指定されたリソースの値を uint として取得します。 | IResourceManager | ||
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | IEventDispatcher | |
IFlexModuleFactory を実装するクラスでのみ使用されます。 | IResourceManager | ||
installCompiledResourceBundles(applicationDomain:ApplicationDomain, locales:Array, bundleNames:Array):void
IFlexModuleFactory を実装するクラスでのみ使用されます。 | IResourceManager | ||
loadResourceModule(url:String, update:Boolean = true, applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null):IEventDispatcher
リソースバンドルを含むリソースモジュールのロードを開始します。 | IResourceManager | ||
![]() |
EventDispatcher オブジェクトからリスナーを削除します。 | IEventDispatcher | |
指定された ResourceBundle が ResourceManager から削除され、getString() などの ResourceManager メソッドでそのリソースにアクセスできなくなります。 | IResourceManager | ||
指定されたロケールのすべての ResourceBundle が ResourceManager から削除され、getString() などの ResourceManager メソッドでそのリソースにアクセスできなくなります。 | IResourceManager | ||
このメソッドはまだ実装されていません。 | IResourceManager | ||
ResourceManager から change イベントを送出します。 | IResourceManager | ||
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | IEventDispatcher | |
| localeChain | プロパティ |
localeChain:Array
リソースに対する検索で検索対象の 1 つまたは複数のロケールを指定する、[ "en_US" ] などのロケールストリングの配列です。
ResourceManager の getObject()、getString()、getStringArray()、getNumber()、getInt()、getUint()、getBoolean() または getClass() のいずれかのメソッドを呼び出してリソースの値を取得する場合、バンドル名とリソース名を指定しますが、ロケールは指定しません。ResourceManager は、localeChain 内の最初のロケールから順に、そのロケールの指定されたバンドル名を持つ ResourceBundle を検索します。 該当する ResourceBundle が存在し、その中に指定されたリソースが存在する場合、そのリソースの値が返されます。 それ以外の場合は、localeChain 内の別のロケールに検索が進みます。
このような方法でリソースが検索されるので、ローカライズされたリソースの完全なセットがロケールに含まれていなくてもかまいません。 例えば、米国英語ではなくインド英語用にアプリケーションをローカライズする場合は、米国英語とはスペルまたは用法が異なる en_IN ロケール用のリソースのみを提供し、localeChain プロパティを [ "en_IN", "en_US" ] に設定するだけで済みます。
多くのフレームワーククラスは、いくつかのロケールから必要なリソースを常に取得可能であることを前提としており、取得できない場合はエラーをスローします。 したがって、リソースの完全なセットが localeChain に常に含まれるようにする必要があります。 独自のアプリケーションのリソースを含む、フレームワークのすべてのリソースのローカライズが完了していない場合は、"en_US" ロケールを localeChain の末尾に保持しておくことにより、必要なリソースを取得できます。
このプロパティを設定すると、ResourceManager によって "change" イベントが送出されます。
public function get localeChain():Array public function set localeChain(value:Array):void| addResourceBundle | () | メソッド |
public function addResourceBundle(resourceBundle:IResourceBundle):void
指定された ResourceBundle が ResourceManager に追加され、getString() () などの ResourceManager メソッドでそのリソースにアクセスできるようになります。
パラメータ
resourceBundle:IResourceBundle — 追加するリソースバンドルです。
|
| findResourceBundleWithResource | () | メソッド |
public function findResourceBundleWithResource(bundleName:String, resourceName:String):IResourceBundle
指定されたリソースの localeChain 内のロケールを検索し、最初に検出したリソースバンドルを返します。 リソースが見つからなかった場合、このメソッドは null を返します。
パラメータ
bundleName:String — "MyResources" などのバンドル名です。
| |
resourceName:String — リソースバンドルのリソースの名前です。
|
IResourceBundle — 指定されたリソースが含まれた localeChain 内の最初の ResourceBundle、または null です。
|
| getBoolean | () | メソッド |
public function getBoolean(bundleName:String, resourceName:String, locale:String = null):Booleanブール型として指定されているリソースの値を取得します。
このメソッドは最初に getString() を呼び出し、結果を小文字に変換します。次に、true を結果が "true" であった場合に返します。そして、他の場合は false を返します。
指定されたリソースが見つからない場合、このメソッドは false を返します。
パラメータ
bundleName:String — リソースバンドルの名前です。
| |
resourceName:String — リソースバンドルのリソースの名前です。
| |
locale:String (default = null) — 参照に使用する特定のロケールです。null の場合は、localeChain 内のすべてのロケールを検索します。 このパラメータはオプションであり、デフォルトは null です。このパラメータの指定が必要になることはほとんどありません。
|
Boolean — ブール値としてのリソース値、または、リソースが見つからない場合は false です。
|
| getBundleNamesForLocale | () | メソッド |
public function getBundleNamesForLocale(locale:String):ArrayResourceManager に存在し、指定されたロケールに属するすべての ResourceBundle オブジェクトのバンドル名を指定するストリングの配列を返します。
この配列内でのバンドル名の順序は決まっていません。
パラメータ
locale:String — "en_US" などのロケールストリングです。
|
Array — バンドル名の配列です。
|
関連項目
| getClass | () | メソッド |
public function getClass(bundleName:String, resourceName:String, locale:String = null):Classクラスとして指定されているリソースの値を取得します。
このメソッドは getObject() を呼び出し、as 演算子を使用して値をクラス型に強制的に変換します。リソース値がクラス参照でなかった場合、結果は null になります。 このメソッドは、.properties ファイルに次のような行が書き込まれていて、
IMAGE=Embed("image.jpg")
BUTTON_SKIN=ClassReference("skins.ButtonSkin_en_US")
Embed() ディレクティブまたは ClassReference() ディレクティブで作成されたクラスを取得する場合に役立ちます。
指定されたリソースが見つからない場合、このメソッドは null を返します。
パラメータ
bundleName:String — リソースバンドルの名前です。
| |
resourceName:String — リソースバンドルのリソースの名前です。
| |
locale:String (default = null) — 参照に使用する特定のロケールです。null の場合は、localeChain 内のすべてのロケールを検索します。 このパラメータはオプションであり、デフォルトは null です。このパラメータの指定が必要になることはほとんどありません。
|
Class — Class としてのリソース値、または、リソースが見つからない場合は null です。
|
| getInt | () | メソッド |
public function getInt(bundleName:String, resourceName:String, locale:String = null):int指定されたリソースの値を int として取得します。
このメソッドは getObject() を呼び出し、結果を int にキャストします。このメソッドは、プロパティファイル内に次のような行があり、
MINIMUM=5
プロパティファイル内にこのような行があり、5 という値("5" ではなく)を取得する場合に役立ちます。
指定されたリソースが見つからない場合、このメソッドは 0 を返します。
パラメータ
bundleName:String — リソースバンドルの名前です。
| |
resourceName:String — リソースバンドルのリソースの名前です。
| |
locale:String (default = null) — 参照に使用する特定のロケールです。null の場合は、localeChain 内のすべてのロケールを検索します。 このパラメータはオプションであり、デフォルトは null です。このパラメータの指定が必要になることはほとんどありません。
|
int — int で表されたリソース値です。リソースが見つからない場合は 0 です。
|
| getLocales | () | メソッド |
public function getLocales():ArrayResourceManager に存在する ResourceBundle オブジェクトのすべてのロケールを指定するストリングの配列を返します。
この配列内でのロケールの順序は決まっていません。
戻り値Array — ロケールストリングの配列です。
|
| getNumber | () | メソッド |
public function getNumber(bundleName:String, resourceName:String, locale:String = null):Number数値として指定されているリソースの値を取得します。
このメソッドは getObject() を呼び出し、結果を数値にキャストします。このメソッドは、プロパティファイル内に次のような行があり、
LONGITUDE=170.3
プロパティファイル内にこのような行があり、170.3 という値("170.3" ではなく)を取得する場合に役立ちます。
指定されたリソースが見つからない場合、このメソッドは NaN を返します。
パラメータ
bundleName:String — リソースバンドルの名前です。
| |
resourceName:String — リソースバンドルのリソースの名前です。
| |
locale:String (default = null) — 参照に使用する特定のロケールです。null の場合は、localeChain 内のすべてのロケールを検索します。 このパラメータはオプションであり、デフォルトは null です。このパラメータの指定が必要になることはほとんどありません。
|
Number — 数値としてのリソース値、または、リソースが見つからない場合は NaN です。
|
| getObject | () | メソッド |
public function getObject(bundleName:String, resourceName:String, locale:String = null):*オブジェクトとして指定されているリソースの値を取得します。
ResourceBundle の content オブジェクトに格納されているそのままの状態の値を、変換せずに返します。 リソースがプロパティファイルからコンパイルされた場合、content オブジェクトのリソース値は常にストリングです。ただし、Embed() ディレクティブまたは ClassReference() ディレクティブを使用した場合、リソース値はクラスになります。getString()、getStringArray()、getNumber()、getInt()、getUint()、getBoolean() および getClass() の各メソッドを使用して、値をより具体的な型に変換します。
指定されたリソースが見つからない場合、このメソッドは undefined を返します。
パラメータ
bundleName:String — リソースバンドルの名前です。
| |
resourceName:String — リソースバンドルのリソースの名前です。
| |
locale:String (default = null) — 参照に使用する特定のロケールです。null の場合は、localeChain 内のすべてのロケールを検索します。 このパラメータはオプションであり、デフォルトは null です。このパラメータの指定が必要になることはほとんどありません。
|
* — content オブジェクトに格納されているそのままの状態のリソース値です。リソースが見つからない場合は undefined です。
|
| getPreferredLocaleChain | () | メソッド |
public function getPreferredLocaleChain():Array
Capabilities.language または Capabilities.languages により報告されたように、ユーザー環境設定を使用して順序付けられた、ResourceManager に存在する ResourceBundle オブジェクトのすべてのロケールを指定するストリングの配列を返します。
Array — ロケールストリングの配列です。
|
| getResourceBundle | () | メソッド |
public function getResourceBundle(locale:String, bundleName:String):IResourceBundle
指定された locale と bundleName を持つ ResourceBundle(以前に addResourceBundle() () を使用して ResourceManager に追加されたもの)を返します。 該当する ResourceBundle がない場合、このメソッドは null を返します。
パラメータ
locale:String — "en_US" などのロケールストリングです。
| |
bundleName:String — "MyResources" などのバンドル名です。
|
IResourceBundle — 指定された locale および bundleName を持つ(存在する場合)ResourceBundle です。見つからない場合は null です。
|
関連項目
| getString | () | メソッド |
public function getString(bundleName:String, resourceName:String, parameters:Array = null, locale:String = null):Stringストリングとして指定されたリソースの値を、プレースホルダを指定された値に置き換えた後で取得します。
このメソッドは getObject() を呼び出し、結果をストリングにキャストします。
parameters 配列をこのメソッドに渡すと、配列の中のパラメータがストリングに変換され、プレースホルダ("{0}"、"{1}" など)がそれらのストリングに順番どおりに置き換えられた後、結果のストリングが返されます。
指定されたリソースが見つからない場合、このメソッドは null を返します。
パラメータ
bundleName:String — リソースバンドルの名前です。
| |
resourceName:String — リソースバンドルのリソースの名前です。
| |
parameters:Array (default = null) — プレースホルダの置き換えとなるパラメータの配列です。 各パラメータは、toString() メソッドを使用してストリングに変換された後で置き換えられます。
| |
locale:String (default = null) — 参照に使用する特定のロケールです。null の場合は、localeChain 内のすべてのロケールを検索します。 このパラメータはオプションであり、デフォルトは null です。このパラメータの指定が必要になることはほとんどありません。
|
String — ストリングとしてのリソース値、または、リソースが見つからない場合は null です。
|
| getStringArray | () | メソッド |
public function getStringArray(bundleName:String, resourceName:String, locale:String = null):Arrayストリングの配列として指定されているリソースの値を取得します。
このメソッドは、カンマで区切られた項目のリストが格納されたストリングをリソース値と見なします。 このメソッドは、getString() メソッドを呼び出し、ストリングをカンマの位置で項目に分割して、各項目の前後にある空白を除去します。このメソッドは、プロパティファイル内に次のような行があり、
COUNTRIES=India, China, Japan
[ "India", "China", "Japan" ] という値("India, China, Japan" という値ではなく)を取得する場合に役立ちます。
指定されたリソースが見つからない場合、このメソッドは null を返します。
パラメータ
bundleName:String — リソースバンドルの名前です。
| |
resourceName:String — リソースバンドルのリソースの名前です。
| |
locale:String (default = null) — 参照に使用する特定のロケールです。null の場合は、localeChain 内のすべてのロケールを検索します。 このパラメータはオプションであり、デフォルトは null です。このパラメータの指定が必要になることはほとんどありません。
|
Array — ストリングの配列としてのリソース値、または、リソースが見つからない場合は null です。
|
| getUint | () | メソッド |
public function getUint(bundleName:String, resourceName:String, locale:String = null):uint指定されたリソースの値を uint として取得します。
このメソッドは getObject() メソッドを呼び出し、結果を uint にキャストします。このメソッドは、プロパティファイル内に次のような行があり、
MINIMUM=5
プロパティファイル内にこのような行があり、5 という値("5" ではなく)を取得する場合に役立ちます。
指定されたリソースが見つからない場合、このメソッドは 0 を返します。
パラメータ
bundleName:String — リソースバンドルの名前です。
| |
resourceName:String — リソースバンドルのリソースの名前です。
| |
locale:String (default = null) — 参照に使用する特定のロケールです。null の場合は、localeChain 内のすべてのロケールを検索します。 このパラメータはオプションであり、デフォルトは null です。このパラメータの指定が必要になることはほとんどありません。
|
uint — uint で表されたリソース値です。リソースが見つからない場合は 0 です。
|
| initializeLocaleChain | () | メソッド |
public function initializeLocaleChain(compiledLocales:Array):voidIFlexModuleFactory を実装するクラスでのみ使用されます。
パラメータ
compiledLocales:Array |
| installCompiledResourceBundles | () | メソッド |
public function installCompiledResourceBundles(applicationDomain:ApplicationDomain, locales:Array, bundleNames:Array):voidIFlexModuleFactory を実装するクラスでのみ使用されます。
パラメータ
applicationDomain:ApplicationDomain | |
locales:Array | |
bundleNames:Array |
| loadResourceModule | () | メソッド |
public function loadResourceModule(url:String, update:Boolean = true, applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null):IEventDispatcherリソースバンドルを含むリソースモジュールのロードを開始します。
このメソッドを呼び出すたびに、新しいイベント送出オブジェクトが返されます。そのオブジェクトを使用すると、ロードの進捗状況およびロードが正常に完了したかまたはエラーが発生したかを確認できます。 このオブジェクトは、ResourceEvent.PROGRESS、ResourceEvent.COMPLETE および ResourceEvent.ERROR の各イベントを送出します。
モジュールがロードされると、リソースバンドルが ResourceManager に追加されますが、localeChain は変更されません。 update パラメータが true の場合、update() メソッドが呼び出されます。
パラメータ
url:String — リソースモジュールのロード元の URL です。
| |
update:Boolean (default = true) — モジュールのロードが終了したときに update() メソッドを呼び出すかどうかを指定します。
| |
applicationDomain:ApplicationDomain (default = null) — リソースモジュールをロードする IModuleInfo クラスの load() メソッドに渡される ApplicationDomain です。このパラメータはオプションであり、デフォルトは null です。
| |
securityDomain:SecurityDomain (default = null) — リソースモジュールをロードする IModuleInfo クラスの load() メソッドに渡される SecurityDomain です。このパラメータはオプションであり、デフォルトは null です。
|
IEventDispatcher — ResourceEvent.PROGRESS、ResourceEvent.COMPLETE および ResourceEvent.ERROR の各イベントを送出するこの特定のロード操作に関連付けられたオブジェクトです。
|
関連項目
| removeResourceBundle | () | メソッド |
public function removeResourceBundle(locale:String, bundleName:String):void
指定された ResourceBundle が ResourceManager から削除され、getString() () などの ResourceManager メソッドでそのリソースにアクセスできなくなります。
パラメータ
locale:String — "en_US" などのロケールストリングです。
| |
bundleName:String — "MyResources" などのバンドル名です。
|
関連項目
| removeResourceBundlesForLocale | () | メソッド |
public function removeResourceBundlesForLocale(locale:String):void
指定されたロケールのすべての ResourceBundle が ResourceManager から削除され、getString() () などの ResourceManager メソッドでそのリソースにアクセスできなくなります。
パラメータ
locale:String — "en_US" などのロケールストリングです。
|
関連項目
| unloadResourceModule | () | メソッド |
public function unloadResourceModule(url:String, update:Boolean = true):voidこのメソッドはまだ実装されていません。
パラメータ
url:String | |
update:Boolean (default = true) |
| update | () | メソッド |
public function update():void
ResourceManager から change イベントを送出します。
これにより、バインディング式に ResourceManager メソッドの getObject()、getString()、getStringArray()、getNumber()、getInt()、getUint()、getBoolean() または getClass() のいずれかが含まれる場合に、それらのバインディング式が再評価されます。
また、UIComponent、Formatter または Validator の resourcesChanged() メソッドも実行されます。多くのコンポーネントがこのメソッドを実装し、最新のリソースに基づいてその状態を更新します。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/resources/IResourceManager.html