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

定義

localeListLocale候補ロケールbaseNameとして の を返します。

[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

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

戻り値

指定されたに対する候補Localeの a Listlocale

属性

注釈

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

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

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

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

既定の実装では、以下で List 説明する規則を使用して を Locale含む が返されます。 以下の説明では、<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最終的なコンポーネント値が空の文字列である s は省略されます。

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

<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 の場合は、最終的なコンポーネントを language まで省略して候補 Locales を追加し、 から 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 つずつ省略して候補 Locales を生成し、元の Localeリストの完全なバリアント値を持つ s が出現するたびに挿入します。 たとえば、バリアントが 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> [<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></liLocale.ROOT<>/ul><></li>

<li>中国語の特別なケース。 入力 Locale に言語 "zh" (中国語) と空のスクリプト値がある場合は、国によっては、"Hans" (簡体字) または "Hant" (繁体字) が指定される場合があります。 国が "CN" (中国) または "SG" (シンガポール) の場合は、"Hans" が提供されます。 国が "HK" (香港特別行政区中国)、"MO" (マカオ特別行政区中国)、または "TW" (台湾) である場合は、"Hant" が供給されます。 他のすべての国または国が空の場合は、スクリプトは提供されません。 たとえば、Locale("zh", "CN") 候補リストは 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><> [<em>L</em>("zh)"zh")]</li li>Locale.ROOT<<>/li></ul>

の場合Locale("zh", "TW")、候補リストは 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("nn", "NO")両方Locale("no", "NO", "NY")がノルウェー語 (ニーノスク) を表します。 ロケールの言語が "nn" の場合、標準候補リストは [<em>L</em>("nn")] まで生成され、次の候補が追加されます。

<ul><li> [<em>L</em>("no"), <em>C</em>("NO"), <em>V</em>("NY")]</li><li> [<em>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 では、"no" という言語がノルウェー語の Bokmål "nb" のシノニムとして扱います。 単一のケース Locale("no", "NO", "NY") (上記で処理) を除き、入力 Locale に言語 "no" または "nb" がある場合、言語コード "no" と "nb" を持つ候補 Locales はインターリーブされ、最初に要求された言語を使用し、次にそのシノニムを使用します。 たとえば、 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 li><> [<em>L</em>("nb"), <em>C</em>("NO")]</li><li> [<em>L</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された が "Messages" で、指定localeされた が である場合、 Locale("ja",&nbsp;"",&nbsp;"XX")LocaleListです。

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

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

{@code
                Messages_ja -> Messages
            }

java.util.ResourceBundle.Control.getCandidateLocales(java.lang.String, java.util.Locale)Java ドキュメント。

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

適用対象