言語

ResourceBundle.GetBundle メソッド

定義

オーバーロード

名前 説明
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>getBundle(baseName, Locale.getDefault(), this.getClass().getClassLoader())、 </blockquote の呼び出しに相当します。>

Javaドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 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>getBundle(baseName, locale, this.getClass().getClassLoader())、 </blockquote の呼び出しに相当します。>

Javaドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 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ドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 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)

</blockquote>Controlの既定のインスタンスを渡します。 既定の動作の変更の説明を参照してください。 既定の動作を次に示します。

<b>"default_behavior">Resource Bundle Search and Loading Strategy</b>

getBundle では、ベース名、指定されたロケール、および既定のロケール ( java.util.Locale#getDefault() Locale.getDefault から取得) を使用して、"candidates"><em>candidate バンドル名</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>instantiate</em> できる最初の名前を見つけます。 既定のコントロールの Control#getFormats getFormats メソッドを使用します。生成された名前ごとに 2 つのバンドル名が生成されます。最初の名前はクラス名、2 つ目はプロパティ ファイル名です。 候補バンドル名ごとに、リソース バンドルの作成が試行されます。

<ul><li>First では、生成されたクラス名を使用してクラスの読み込みを試みます。 指定したクラス ローダーを使用してこのようなクラスを見つけて読み込み、ResourceBundle と互換性のある割り当てであり、ResourceBundle からアクセスでき、インスタンス化できる場合は、このクラスの新しいインスタンスを作成 getBundle 、 <em>result リソース バンドル</em>として使用します。

<li>それ以外の getBundle は、生成されたプロパティ ファイル名を使用してプロパティ リソース ファイルの検索を試みます。 すべての "." 文字を "/" に置き換え、文字列 ".properties" を追加することで、候補バンドル名からパス名を生成します。 java.lang.ClassLoader#getResource(java.lang.String) ClassLoader.getResourceを使用して、この名前の "リソース" を検索しようとします。 ( getResource という意味での "リソース" は、リソース バンドルの内容とは何の関係もなく、ファイルなどの単なるデータのコンテナーであることに注意してください)。"リソース" が見つかると、そのコンテンツから新しい PropertyResourceBundle インスタンスの作成が試みられます。 成功した場合、このインスタンスは <em>result リソース バンドル</em>になります。 </ul>

これは、結果のリソース バンドルがインスタンス化されるか、候補のバンドル名の一覧が使い果たされるまで続きます。 一致するリソース バンドルが見つからない場合は、既定のコントロールの Control#getFallbackLocale getFallbackLocale メソッドが呼び出され、現在の既定のロケールが返されます。 上記のように、このロケールを使用して新しい一連の候補ロケール名が生成され、もう一度検索されます。

それでも結果バンドルが見つからない場合は、ベース名だけが検索されます。 それでも失敗した場合は、 MissingResourceException がスローされます。

"parent_chain"> 結果のリソース バンドルが見つかると、その <em>親チェーン</em> がインスタンス化されます。 結果バンドルに既に親がある場合 (キャッシュから返された可能性があります)、チェーンは完了です。

それ以外の場合、 getBundle は、結果リソース バンドルを生成したパス中に使用された候補ロケール リストの残りの部分を調べます。 (前と同様に、最終的なコンポーネントが空の文字列である候補バンドル名は省略されます)。候補リストの末尾に関しては、プレーンバンドル名を試します。 各候補バンドル名を使用して、リソース バンドルのインスタンス化を試みます (最初にクラスを探してから、前述のようにプロパティ ファイルを探します)。

成功するたびに、以前にインスタンス化されたリソース バンドルの #setParent(java.util.ResourceBundle) setParent メソッドを新しいリソース バンドルと共に呼び出します。 これは、名前のリストが使い果たされるか、現在のバンドルに null 以外の親が既に存在するまで続きます。

親チェーンが完了すると、バンドルが返されます。

<b>Note:</b>getBundle はインスタンス化されたリソース バンドルをキャッシュし、同じリソース バンドル インスタンスを複数回返す場合があります。

<b>Note:</b>baseName引数は完全修飾クラス名にする必要があります。 ただし、以前のバージョンとの互換性のために、Java SE ランタイム環境ではこれを検証しないため、完全修飾クラス名の代わりにパス名 ("/" を使用) を指定してPropertyResourceBundleにアクセスできます (".")。

"default_behavior_example"><strong>Example:</strong>

次のクラスファイルとプロパティ ファイルが用意されています:<ul><li>MyResources.class <li>myResources.properties <li>MyResources_fr.properties <li>MyResources_fr_CH 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、親 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><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 で追加されました。

Javaドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 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ドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 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ドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

適用対象