言語

ResourceBundle.Control.GetCandidateLocales(String, Locale) メソッド

定義

baseNamelocaleの候補ロケールとしてLocaleListを返します。

[Android.Runtime.Register("getCandidateLocales", "(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;", "GetGetCandidateLocales_Ljava_lang_String_Ljava_util_Locale_Handler")]
public virtual System.Collections.Generic.IList<Java.Util.Locale>? GetCandidateLocales(string baseName, Java.Util.Locale locale);
[<Android.Runtime.Register("getCandidateLocales", "(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;", "GetGetCandidateLocales_Ljava_lang_String_Ljava_util_Locale_Handler")>]
abstract member GetCandidateLocales : string * Java.Util.Locale -> System.Collections.Generic.IList<Java.Util.Locale>
override this.GetCandidateLocales : string * Java.Util.Locale -> System.Collections.Generic.IList<Java.Util.Locale>

パラメーター

baseName
String

リソース バンドルの基本名、完全修飾クラス名

locale
Locale

リソース バンドルが必要なロケール

返品

与えられた候補者のLocaleListlocale

属性

注釈

baseNamelocaleの候補ロケールとしてLocaleListを返します。 このメソッドは、ファクトリ メソッドがターゲット Localeのリソース バンドルを検索しようとするたびに、ResourceBundle.getBundle ファクトリ メソッドによって呼び出されます。

候補ロケールのシーケンスは、候補ロケールの対応するリソース バンドルが存在し、その親が読み込まれたリソース バンドル自体によって定義されていない場合、ランタイム リソース参照パス ( 親チェーンとも呼ばれます) にも対応します。 親チェーンのターミナルとして基本バンドルを使用する場合、リストの最後の要素は Locale#ROOT ルート ロケールである必要があります。

指定されたロケールがLocale.ROOT (ルート ロケール) と等しい場合は、ルート Localeのみを含むListを返す必要があります。 この場合、 ResourceBundle.getBundle ファクトリ メソッドは、ベース バンドルのみを結果のリソース バンドルとして読み込みます。

変更できない (変更できない) Listを返す必要はありません。 ただし、返された List は、 getCandidateLocalesによって返された後に変更することはできません。

既定の実装では、以下で説明する規則を使用して、Localeを含むListが返されます。 以下の説明では、 <em>L</em>、 <em>S</em>、 <em>C</em> および <em>V</em> は、それぞれ空でない言語、スクリプト、国、およびバリアントを表します。 たとえば、[<em>L</em>、 <em>C</em>] は、言語と国に対してのみ空でない値を持つ Locale を表します。 フォーム <em>L</em>("xx") は、(空でない) 言語値が "xx" であることを表します。 いずれの場合も、最終的なコンポーネント値が空の文字列である Localeは省略されます。

<ol><li>空のスクリプト値を持つ入力 Locale の場合は、次のように最後のコンポーネントを 1 つずつ省略して候補 Localeを追加します。

<ul><li> [<em>L</em>, <em>C</em>, <em>V</em>] </li><li> [<em>L</em><em>C</em>] </li><li> [<em>L</em >] </li><li>Locale.ROOT</li></ul></li>

<li>空でないスクリプト値を持つ入力 Locale では、最終的なコンポーネントを言語まで省略して候補 Localeを追加し、国とバリアントを復元して Locale から生成された候補を追加します。

<ul><li> [<em>L</em>, <em>S</em>, <em>C</em>, <em>V</em>]</li><li> [<em>L</em>, <em>S</em>, <em>C</em>]</li><li> [<em>L</em>, <em>S</em>]</li><li> [<em>L</em>, <em>C</em>, <em>V</em>]</li><li> [<em>L</em>, <em>C</em>]</li><li> [<em>L</em>]</li><li>Locale.ROOT</li></ul></li>

<li>アンダースコアで区切られた複数のサブタグで構成されるバリアント値を持つ入力 Locale では、バリアントサブタグを 1 つずつ省略して候補の Localeを生成し、元のリストの完全なバリアント値を持つ Localeが出現するたびに挿入します。 たとえば、バリアントが 2 つのサブタグ <em>V1</em> と <em>V2</em で構成されている場合>:

<ul><li> [<em>L</em>, <em>S</em>, <em>C</em>, <em>V1</em>, <em>V2</em>]</li><li> [<em>L</em>, <em>S</em>, <em>C</em>, <em>V1</em>]</li><li> [<em>L</em>, <em>S</em>, <em>C</em>]</li><li> [<em>L</em>, <em>S</em>]</li><li> [<em>L</em>, <em>C</em>, <em>V1</em>, <em>V2</em>]</li><li> [<em>L</em>, <em>C</em>, <em>V1</em>]</li><li> [<em>L</em>, <em>C</em>]</li><li> [<em>L</em>]</li><li>Locale.ROOT</li></ul></li>

<li>中国語の特別なケース。 入力 Locale に言語 "zh" (中国語) と空のスクリプト値がある場合は、国によっては "Hans" (簡体字) または "Hant" (繁体字) が指定される場合があります。 国が "CN" (中国) または "SG" (シンガポール) の場合は、"Hans" が提供されます。 国が "HK" (香港特別行政区中国)、"MO" (マカオ特別行政区中国)、または "TW" (台湾) の場合は、"Hant" が提供されます。 他のすべての国または国が空の場合は、スクリプトは提供されません。 For example, for Locale("zh", "CN") , the candidate list will be: <ul><li> [<em>L</em>("zh"), <em>S</em>("Hans"), <em>C</em>("CN")]</li><li> [<em>L</em>("zh"), <em>S</em>("Hans")]</li><li> [<em>L</em>("zh"), <em>C</em>("CN")]</li><li> [<em>L</em>("zh")]</li><li>Locale.ROOT</li></ul>

For Locale("zh", "TW"), the candidate list will be: <ul><li> [<em>L</em>("zh"), <em>S</em>("Hant"), <em>C</em>("TW")]</li><li> [<em>L</em>("zh"), <em>S</em>("Hant")]</li><li> [<em>L</em>("zh"), <em>C</em>("TW")]</li><li> [<em>L</em>("zh")]</li><li>Locale.ROOT</li></ul></li>

<li>ノルウェー語の特別なケース。 Locale("no", "NO", "NY")Locale("nn", "NO")はどちらもノルウェー語 (ニーノシュク) を表します。 ロケールの言語が "nn" の場合、標準候補リストは [<em>L</em>("nn")] まで生成され、次の候補が追加されます。

<ul><li> [<em>L</em>("no"), <em>C</em>("NO"), <em>V</em>("NY")]</li><li> [<emem >L</em>("no"), <em>C</em>("NO")]</li><li> [<em>L</em>("no")]</li><li>Locale.ROOT</li></ul>

ロケールが正確に Locale("no", "NO", "NY")されている場合は、最初に Locale("nn", "NO") に変換され、次に上記の手順に従います。

また、Javaはノルウェーのブークム・#xE5 の類義語として「いいえ」を扱います。l "nb" 単一のケース Locale("no", "NO", "NY") (上記で処理) を除き、入力 Locale に言語 "no" または "nb" がある場合、言語コード "no" と "nb" を持つ候補 Localeがインターリーブされ、最初に要求された言語を使用してから、そのシノニムを使用します。 たとえば、 Locale("nb", "NO", "POSIX") は次の候補リストを生成します。

<ul><li> [<em>L</em>("nb"), <em>C</em>("NO"), <em>V</em>("POSIX")]</li ><li> [<em>L</em>("no"), <em>C</em>("NO"), <em>V</em>("POSIX")]</li><> [<em>L</em>("nb"), <em>C</em>("NO")]/li>li [emL/em("no"),em>C</em>("NO")]</li><li> [<em>L</em>("nb")]< /li><li> [<em>L</em>("no")]</li><li>Locale.ROOT</li></ul>

Locale("no", "NO", "POSIX") は同じリストを生成しますが、"no" のロケールは対応するロケールの前に "nb".</li></ol>

既定の実装では、オーバーライドする実装が呼び出し元に返される前に変更できる ArrayList を使用します。 ただし、サブクラスは、 getCandidateLocalesによって返された後で変更することはできません。

たとえば、指定したbaseNameが "メッセージ" で、指定されたlocaleLocale("ja",&nbsp;"",&nbsp;"XX")場合、LocaleList

Locale("ja", "", "XX")
                Locale("ja")
                Locale.ROOT

が 返されます。 また、"ja" と "" Localeのリソース バンドルが見つかった場合、ランタイム リソース参照パス (親チェーン) は次のようになります。

{@code
                Messages_ja -> Messages
            }

Javaドキュメント。

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

適用対象