ResourceBundle.GetBundle メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
GetBundle(String) |
指定した基本名、既定のロケール、および呼び出し元のクラス ローダーを使用して、リソース バンドルを取得します。 |
GetBundle(String, Locale) |
指定した基本名とロケール、および呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。 |
GetBundle(String, ResourceBundle+Control) |
指定した基本名、既定のロケール、および呼び出し元のクラス ローダーを使用して、リソース バンドルを取得します。 |
GetBundle(String, Locale, ClassLoader) |
指定した基本名、ロケール、およびクラス ローダーを使用してリソース バンドルを取得します。 |
GetBundle(String, Locale, ResourceBundle+Control) |
指定した基本名、既定のロケール、および呼び出し元のクラス ローダーを使用して、リソース バンドルを取得します。 |
GetBundle(String, Locale, ClassLoader, ResourceBundle+Control) |
指定した基本名、既定のロケール、および呼び出し元のクラス ローダーを使用して、リソース バンドルを取得します。 |
GetBundle(String)
指定した基本名、既定のロケール、および呼び出し元のクラス ローダーを使用して、リソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
戻り値
指定されたベース名と既定のロケールのリソース バンドル
- 属性
例外
ResourceBundle
が見つからない場合は 。
注釈
指定した基本名、既定のロケール、および呼び出し元のクラス ローダーを使用して、リソース バンドルを取得します。 このメソッドの呼び出しは、blockquote、/blockquotegetBundle(baseName, Locale.getDefault(), this.getClass().getClassLoader())
> の<呼び出し<に相当します>
の Java ドキュメントjava.util.ResourceBundle.getBundle(java.lang.String)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
GetBundle(String, Locale)
指定した基本名とロケール、および呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? locale);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
- locale
- Locale
リソース バンドルが必要なロケール
戻り値
指定されたベース名とロケールのリソース バンドル
- 属性
例外
リソース バンドルが見つからない場合は 。
注釈
指定した基本名とロケール、および呼び出し元のクラス ローダーを使用してリソース バンドルを取得します。 このメソッドの呼び出しは、blockquote、/blockquotegetBundle(baseName, locale, this.getClass().getClassLoader())
> の<呼び出し<に相当します>
の Java ドキュメントjava.util.ResourceBundle.getBundle(java.lang.String, java.util.Locale)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
GetBundle(String, ResourceBundle+Control)
指定した基本名、既定のロケール、および呼び出し元のクラス ローダーを使用して、リソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.ResourceBundle.Control? control);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.ResourceBundle.Control -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
- control
- ResourceBundle.Control
アクセス シーケンスを制御するコントロール
戻り値
指定されたベース名と既定のロケールのリソース バンドル
- 属性
注釈
の Java ドキュメントjava.util.ResourceBundle.getBundle(java.lang.String)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
GetBundle(String, Locale, ClassLoader)
指定した基本名、ロケール、およびクラス ローダーを使用してリソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? locale, Java.Lang.ClassLoader? loader);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale * Java.Lang.ClassLoader -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
- locale
- Locale
リソース バンドルが必要なロケール
- loader
- ClassLoader
リソース バンドルの読み込み元のクラス ローダー
戻り値
指定されたベース名とロケールのリソース バンドル
- 属性
例外
ResourceBundle
が見つからない場合は 。
注釈
指定した基本名、ロケール、およびクラス ローダーを使用してリソース バンドルを取得します。
これは、blockquote の <呼び出しに相当します。>
getBundle(baseName, targetLocale, loader, control)
<の既定のControl
インスタンスを渡す /blockquote> 。 既定の動作の変更の説明を参照してください。 既定の動作を次に示します。
<b>"default_behavior">リソース バンドルの検索と読み込み戦略</b>
getBundle
では、ベース名、指定されたロケール、および既定のロケール (取得元 java.util.Locale#getDefault() Locale.getDefault
) を使用して、"candidates"><em>candidate bundle names</em> のシーケンスが生成されます。 指定したロケールの言語、スクリプト、国、およびバリアントがすべて空の文字列である場合、基本名は唯一の候補バンドル名です。 それ以外の場合は、指定したロケール (言語、スクリプト、国、バリアント) の属性値から候補ロケールの一覧が生成され、ベース名に追加されます。 通常、これは次のようになります。
baseName + "_" + language + "_" + script + "_" + country + "_" + variant
baseName + "_" + language + "_" + script + "_" + country
baseName + "_" + language + "_" + script
baseName + "_" + language + "_" + country + "_" + variant
baseName + "_" + language + "_" + country
baseName + "_" + language
最終的なコンポーネントが空の文字列である候補バンドル名は、アンダースコアと共に省略されます。 たとえば、country が空の文字列の場合、上記の 2 番目と 5 番目の候補バンドル名は省略されます。 また、スクリプトが空の文字列の場合、スクリプトを含む候補名は省略されます。 たとえば、言語が "de" でバリアント "JAVA" のロケールでは、次のベース名 "MyResource" の候補名が生成されます。
MyResource_de__JAVA
MyResource_de
バリアントに 1 つ以上のアンダースコアが含まれている場合は、最後のアンダースコア('_')を切り捨てることによって生成されるバンドル名のシーケンスと、その後に続く部分が、元のバリアントの候補バンドル名の後に挿入されます。 たとえば、言語が "en" のロケール、スクリプト "Latn、country "US"、variant "WINDOWS_VISTA"、バンドルベース名 "MyResource" の場合、以下の候補バンドル名の一覧が生成されます。
MyResource_en_Latn_US_WINDOWS_VISTA
MyResource_en_Latn_US_WINDOWS
MyResource_en_Latn_US
MyResource_en_Latn
MyResource_en_US_WINDOWS_VISTA
MyResource_en_US_WINDOWS
MyResource_en_US
MyResource_en
<blockquote><b>Note:</b> 一部 Locale
の場合、候補のバンドル名の一覧に追加の名前が含まれているか、バンドル名の順序が少し変更されています。 詳細については、既定の実装の Control#getCandidateLocales(String, Locale) getCandidateLocales
説明を参照してください。</blockquote>
getBundle
次に、候補のバンドル名を反復処理して、実際のリソース バンドルをインスタンス化</em> できる<>最初の名前を見つけます。 既定のコントロールの Control#getFormats getFormats
メソッドを使用します。生成された名前ごとに 2 つのバンドル名が生成されます。最初の名前はクラス名、2 つ目はプロパティ ファイル名です。 候補バンドル名ごとに、リソース バンドルの作成が試行されます。
<ul><li>最初に、生成されたクラス名を使用してクラスを読み込もうとします。 指定したクラス ローダーを使用してこのようなクラスを見つけて読み込むことができる場合、割り当ては ResourceBundle と互換性があり、ResourceBundle からアクセスでき、インスタンス化できます。このクラスの新しいインスタンスを作成し、getBundle
それを em>結果リソース バンドル</em として<使用します>。
<li>それ以外の場合は、 getBundle
生成されたプロパティ ファイル名を使用してプロパティ リソース ファイルの検索を試みます。 すべての "." 文字を "/" に置き換え、文字列 ".properties" を追加することで、候補バンドル名からパス名を生成します。 この名前の "リソース" を見つけようとします java.lang.ClassLoader#getResource(java.lang.String) ClassLoader.getResource
。 (つまり、"リソース" はリソース バンドルの getResource
内容とは何の関係もなく、ファイルなどの単なるデータのコンテナーであることに注意してください)。"リソース" が見つかると、その内容から新 PropertyResourceBundle
しいインスタンスの作成が試みられます。 成功した場合、このインスタンスは <em>結果リソース バンドル</em> になります。 </ul>
これは、結果のリソース バンドルがインスタンス化されるか、候補のバンドル名の一覧が使い果たされるまで続きます。 一致するリソース バンドルが見つからない場合は、既定のコントロールの Control#getFallbackLocale getFallbackLocale
メソッドが呼び出され、現在の既定のロケールが返されます。 上記のように、このロケールを使用して新しい候補ロケール名のシーケンスが生成され、もう一度検索されます。
それでも結果バンドルが見つからない場合は、ベース名だけが検索されます。 それでも失敗した場合は、a MissingResourceException
がスローされます。
"parent_chain"> 結果のリソース バンドルが見つかると、その <em>親チェーン</em> がインスタンス化されます。 結果バンドルに既に親がある場合 (キャッシュから返された可能性があります)、チェーンは完了です。
それ以外の場合は、 getBundle
結果リソース バンドルを生成したパス中に使用された候補ロケール リストの残りの部分を調べます。 (前と同様に、最終的なコンポーネントが空の文字列である候補バンドル名は省略されます)。候補リストの末尾に関しては、プレーンバンドル名を試します。 各候補バンドル名を使用して、リソース バンドルのインスタンス化を試みます (最初にクラスを探してから、前述のようにプロパティ ファイルを探します)。
成功するたびに、以前にインスタンス化されたリソース バンドルの #setParent(java.util.ResourceBundle) setParent
メソッドを新しいリソース バンドルで呼び出します。 これは、名前のリストが使い果たされるか、現在のバンドルに null 以外の親が既に存在するまで続きます。
親チェーンが完了すると、バンドルが返されます。
<b>注:</b>getBundle
はインスタンス化されたリソース バンドルをキャッシュし、同じリソース バンドル インスタンスを複数回返す場合があります。
<b>注:</b>引数は baseName
完全修飾クラス名にする必要があります。 ただし、以前のバージョンとの互換性のために、Java SE ランタイム環境ではこれを検証しないため、完全修飾クラス名の代わりにパス名 ("/" を使用) を指定して s にアクセス PropertyResourceBundle
できます (".")。
"default_behavior_example"><strong>Example:</strong>
次のクラスとプロパティ ファイルが提供されています。 <ul><li>MyResources.class <li>MyResources.properties <li MyResources_fr.properties <li>>MyResources_fr_CH.class <li>MyResources_fr_CH.properties <li>MyResources_en.properties <li>MyResources_es_ES.class </ul>
すべてのファイルの内容は有効です (つまり、".class" ファイルの ResourceBundle
パブリック非抽象サブクラス、構文的に正しい ".properties" ファイル)。 既定のロケールは Locale("en", "GB")
です。
以下のロケール引数を使用して呼び出 getBundle
すと、リソース バンドルが次のようにインスタンス化されます。
<table class="striped"><caption style="display:none">getBundle() locale to resource bundle mapping</caption><thead><tr><th scope="col">Locale</th th><scope="col">Resource bundle</th></tr></thead><tbody><tr><th scope="row">Locale("fr", "CH")</th><td>MyResources_fr_CH.class, parent MyResources_fr.properties, parent MyResources.class</td></tr><tr><th scope="row">Locale("fr", "FR")</th><td>MyResources_fr.properties, parent MyResources.class</td></tr tr<>><th scope="row">Locale("de", "DE")</th><td>MyResources_en.properties, parent MyResources.class</td></tr tr><><th scope="row">Locale("en", "US")</th><td>MyResources_en.properties, parent MyResources.class</td/tr tr tr><><tr><th scope="row">Locale("es", "ES")</th><td>MyResources_es_ES.class, parent MyResources.class</td></tr></tbody></table>
ファイル MyResources_fr_CH.properties は、MyResources_fr_CH.class によって非表示になるため、使用されません。 同様に、MyResources.properties も MyResources.class によって非表示になります。
1.2 で追加されました。
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
GetBundle(String, Locale, ResourceBundle+Control)
指定した基本名、既定のロケール、および呼び出し元のクラス ローダーを使用して、リソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? targetLocale, Java.Util.ResourceBundle.Control? control);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale * Java.Util.ResourceBundle.Control -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
- targetLocale
- Locale
リソース バンドルのターゲット ロケール
- control
- ResourceBundle.Control
アクセス シーケンスを制御するコントロール
戻り値
指定されたベース名と既定のロケールのリソース バンドル
- 属性
注釈
の Java ドキュメントjava.util.ResourceBundle.getBundle(java.lang.String)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
GetBundle(String, Locale, ClassLoader, ResourceBundle+Control)
指定した基本名、既定のロケール、および呼び出し元のクラス ローダーを使用して、リソース バンドルを取得します。
[Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")]
public static Java.Util.ResourceBundle? GetBundle (string? baseName, Java.Util.Locale? targetLocale, Java.Lang.ClassLoader? loader, Java.Util.ResourceBundle.Control? control);
[<Android.Runtime.Register("getBundle", "(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;", "")>]
static member GetBundle : string * Java.Util.Locale * Java.Lang.ClassLoader * Java.Util.ResourceBundle.Control -> Java.Util.ResourceBundle
パラメーター
- baseName
- String
リソース バンドルの基本名、完全修飾クラス名
- targetLocale
- Locale
リソース バンドルのターゲット ロケール
- loader
- ClassLoader
リソースを読み込むクラス ローダー
- control
- ResourceBundle.Control
アクセス シーケンスを制御するコントロール
戻り値
指定されたベース名と既定のロケールのリソース バンドル
- 属性
注釈
の Java ドキュメントjava.util.ResourceBundle.getBundle(java.lang.String)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。