ResourceBundle.Control.GetCandidateLocales(String, Locale) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt eins List von Locales als Kandidatengebietsschemas für baseName und locale.
[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>
Parameter
- baseName
- String
Der Basisname des Ressourcenpakets, ein vollqualifizierter Klassenname
- locale
- Locale
das Gebietsschema, für das ein Ressourcenbundle gewünscht wird
Gibt zurück
ein List Kandidat Localefür die gegebene locale
- Attribute
Hinweise
Gibt eins List von Locales als Kandidatengebietsschemas für baseName und locale. Diese Methode wird von der Factorymethode jedes Mal aufgerufen, wenn die ResourceBundle.getBundle Factorymethode versucht, ein Ressourcenbundle für ein Ziel Localezu finden.
Die Reihenfolge der Kandidatengebietsschemas entspricht auch dem Laufzeitressourcen-Nachschlagepfad (auch als übergeordnete Kette bezeichnet), wenn die entsprechenden Ressourcenbündel für die Kandidatengebietsschemas vorhanden sind und ihre übergeordneten Elemente nicht durch geladene Ressourcenbündel selbst definiert werden. Das letzte Element der Liste muss ein Gebietsschema des Gebietsschemas "Locale#ROOT" sein, wenn es gewünscht wird, das Basisbundle als Terminal der übergeordneten Kette zu verwenden.
Wenn das angegebene Gebietsschema gleich Locale.ROOT (das Stammgebietsschema) ist, muss nur List ein Stammverzeichnis Locale zurückgegeben werden. In diesem Fall lädt die ResourceBundle.getBundle Factorymethode nur das Basispaket als resultierendes Ressourcenbundle.
Es ist keine Anforderung, eine unveränderliche (nicht modifizierbare) ListZurückzugeben. Die zurückgegebene List Datei darf jedoch nicht stumm geschaltet werden, nachdem sie zurückgegeben getCandidateLocaleswurde.
Die Standardimplementierung gibt ein List enthaltenes Element Localemit den unten beschriebenen Regeln zurück. In der nachstehenden <Beschreibung stellen em L</em, <em>>S</em>>, <em>C</em> bzw<. em>V</em> nicht leere Sprache, Skript, Land und Variante dar. [em L</em, em>>C</em>>] stellt z. B. einen Locale Wert dar,<< der nur für Sprache und Land nicht leere Werte enthält. Das Formular <em>L</em>("xx") stellt den (nicht leeren) Sprachwert "xx" dar. In allen Fällen werden s, Localederen endgültige Komponentenwerte leere Zeichenfolgen sind, weggelassen.
<ol><li>Für eine Eingabe Locale mit einem leeren Skriptwert fügen Sie kandidaten Locales an, indem Sie die letzte Komponente um eins wie unten auslassen:
<ul><li> [<em>L</em, <em>C</em>>, <em>V</em>] </li><> li [<em>L</em>, <em>C</em>] </li>>< [<em>L</em>] </li>><Locale.ROOT</li/li/ul><></li/li>
<li>Für eine Eingabe Locale mit einem nicht leeren Skriptwert fügen Sie Kandidaten Localean, indem Sie die endgültige Komponente bis zur Sprache weglassen, und fügen Sie dann kandidaten an, die aus dem Locale Land generiert wurden und die Variante wiederhergestellt wurde:
<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><> [<em>L</em>>, <em>S</em>]</li><li> [<em>L</em>, em C/em, em>C</em, <>><em>V</em>]</li li><> [<em>L</em>, <em>C</em>]</li><li> [<em>L</em>]</li>><Locale.ROOT< li/li/li></ul></li>
<li>Für eine Eingabe Locale mit einem Variant-Wert, der aus mehreren Subtags besteht, die durch Unterstrich getrennt sind, generieren Sie Kandidaten Locales, indem Sie die Variantenuntertags einzeln weglassen, und fügen Sie sie dann nach jedem Vorkommen von Locales mit dem vollständigen Variantenwert in der ursprünglichen Liste ein. Wenn die Variante beispielsweise aus zwei Subtags <em>V1</em> und <em>V2</em> besteht:
<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><> [<em>L</em>, <em>C</em>, <em>V1</em>, em>V2</em]</li<>> [<em>L</em, em>C</em>>, <<em>V1</em>]</li>>< [<em>L</em>>, <<em C></em>]</li li>>< [<em>L</em>]</li></li<Locale.ROOT>/li></ul></li/li>
<li>Sonderfälle für Chinesisch. Wenn eine Eingabe Locale die Sprache "zh" (Chinesisch) und einen leeren Skriptwert hat, kann je nach Land entweder "Hans" (vereinfacht) oder "Hant" (traditionell) angegeben werden. Wenn das Land "CN" (China) oder "SG" (Singapur) ist, wird "Hans" geliefert. Wenn das Land "HK" (Hongkong SAR China), "MO" (Macau SAR China) oder "TW" (Taiwan) ist, wird "Hant" geliefert. Für alle anderen Länder oder wenn das Land leer ist, wird kein Skript bereitgestellt. For example, Locale("zh", "CN") the candidate list will be: <ul<>li> [<em>L</em>("zh"), <em>S</em>("Hans"), <em>C</em>("CN")]</li><[<>em>L</em("zh"), <em>S</em>>("Hans")]</li><> [<em>L</em>("zh"), <em>C</em>("CN")]</li><> [<em>L</em>("zh("zh")")]</li><li>Locale.ROOT</li/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><Locale.ROOT<>/li/li></ul></li/li>
<li>Sonderfälle für Norwegisch. Beide Locale("no", "NO", "NY") und Locale("nn", "NO") vertreten Norwegisch Nynorsk. Wenn die Sprache eines Gebietsschemas "nn" lautet, wird die Standardkandidatenliste bis zu [<em>L</em>("nn") generiert, und die folgenden Kandidaten werden hinzugefügt:
<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>>< [<em>L</em>("no")]</li><liLocale.ROOT<>/li></ul>
Wenn das Gebietsschema genau Locale("no", "NO", "NY")ist, wird es zuerst in Locale("nn", "NO") die oben beschriebene Prozedur konvertiert.
Außerdem behandelt Java die Sprache "nein" als Synonym für Norwegisch Bokmå l "nb". Mit Ausnahme des einzelnen Falls Locale("no", "NO", "NY") (oben behandelt), wenn eine Eingabe Locale sprache "no" oder "nb" hat, werden Kandidaten Localemit Sprachcode "no" und "nb" interleaviert, zuerst mit der angeforderten Sprache und dann mit dem Synonym. Generiert beispielsweise Locale("nb", "NO", "POSIX") die folgende Kandidatenliste:
<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>>< [<em>L</em>("nb")]</li>>< [<em>L</em>("no")]</liLocale.ROOT<<>> li/li></ul>
Locale("no", "NO", "POSIX") würde dieselbe Liste generieren, mit der Ausnahme, dass Gebietsschemas mit "nein" vor den entsprechenden Gebietsschemas mit "nb" angezeigt würden.</li></ol>
Die Standardimplementierung verwendet eine ArrayList Änderung, die überschrieben werden kann, bevor sie an den Aufrufer zurückgegeben wird. Eine Unterklasse darf sie jedoch nicht ändern, nachdem sie zurückgegeben getCandidateLocaleswurde.
Wenn die angegebene Beispielsweise "Nachrichten" ist und die angegebene baseNamelocale ist Locale("ja", "", "XX"), dann eine List von Locales:
Locale("ja", "", "XX")
Locale("ja")
Locale.ROOT
zurückgegeben. Und wenn die Ressourcenbündel für die "ja" und ""s Localegefunden werden, lautet der Laufzeitressourcen-Nachschlagepfad (übergeordnete Kette) wie folgt:
{@code
Messages_ja -> Messages
}
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.