次の方法で共有


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、/blockquotegetBundle(baseName, Locale.getDefault(), this.getClass().getClassLoader())> の<呼び出し<と同じです>

java.util.ResourceBundle.getBundle(java.lang.String)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象

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.util.ResourceBundle.getBundle(java.lang.String, java.util.Locale)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象

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.util.ResourceBundle.getBundle(java.lang.String)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象

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>候補バンドル名</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 番目の候補バンドル名は省略されます。 また、script が空の文字列の場合、script を含む候補名は省略されます。 たとえば、言語 "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の s では、候補バンドル名のリストに余分な名前が含まれているか、バンドル名の順序が少し変更されます。 詳細については、 の既定の実装の Control#getCandidateLocales(String, Locale) getCandidateLocales 説明を参照してください。</blockquote>

getBundle次に、候補のバンドル名を反復処理して、実際のリソース バンドルをインスタンス化</em> できる<>最初の名前を見つけます。 既定のコントロールの Control#getFormats getFormats メソッドを使用します。これにより、生成された名前ごとに 2 つのバンドル名が生成されます。1 つ目はクラス名、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 メソッドが呼び出され、現在の既定のロケールが返されます。 このロケールを使用して候補ロケール名の新しいシーケンスが生成され、上記のように再度検索されます。

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

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

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

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

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

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

<b>注:</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.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"><キャプション style="display:none">getBundle() locale to resource bundle mapping</キャプション><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 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.util.ResourceBundle.getBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象

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.util.ResourceBundle.getBundle(java.lang.String)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象

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.util.ResourceBundle.getBundle(java.lang.String)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象