ResourceBundle.Control.GetCandidateLocales(String, Locale) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne un List des Localeparamètres régionaux candidats pour baseName et 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>
Paramètres
- baseName
- String
le nom de base du groupe de ressources, un nom de classe complet
- locale
- Locale
paramètres régionaux pour lesquels un bundle de ressources est souhaité
Retours
d’un List candidat Localepour le locale
- Attributs
Remarques
Retourne un List des Localeparamètres régionaux candidats pour baseName et locale. Cette méthode est appelée par la ResourceBundle.getBundle méthode de fabrique chaque fois que la méthode de fabrique tente de trouver un bundle de ressources pour une cible Locale.
La séquence des paramètres régionaux candidats correspond également au chemin de recherche de ressources runtime (également appelé chaîne parente), si les bundles de ressources correspondants pour les paramètres régionaux candidats existent et que leurs parents ne sont pas définis par des groupes de ressources chargés eux-mêmes. Le dernier élément de la liste doit être un paramètre régional#RACINE locale si vous souhaitez que le bundle de base soit le terminal de la chaîne parente.
Si les paramètres régionaux donnés sont égaux à Locale.ROOT (les paramètres régionaux racines), une List racine contenant uniquement la racine Locale doit être retournée. Dans ce cas, la ResourceBundle.getBundle méthode de fabrique charge uniquement le bundle de base comme bundle de ressources résultant.
Il n’est pas nécessaire de retourner un immuable (inmodifiable) List. Toutefois, le retour List ne doit pas être muté une fois qu’il a été retourné par getCandidateLocales.
L’implémentation par défaut retourne une List valeur contenante à Localel’aide des règles décrites ci-dessous. Dans la description ci-dessous, em L/em>, <em>S</em>, <em>C</em et <em>V</em>> représentent respectivement une langue, un script, un pays et une variante non vides.<>< Par exemple, [<em>L</em>, <em>C</em>] représente une Locale valeur non vide uniquement pour la langue et le pays. La forme <em>L</em>(« xx ») représente la valeur de langue (non vide) est « xx ». Dans tous les cas, Locales dont les valeurs de composant finales sont des chaînes vides sont omises.
<ol><li>Pour une entrée Locale avec une valeur de script vide, ajoutez des candidats Localeen omettant le composant final un par un comme ci-dessous :
<ul><li> [<em>L</em>, <em>C</em>, <em>V</em>] </li [><<>em>L</em, <em>> C</em>] </li li>>< [<em>L</em>] </li></<>Locale.ROOTli/li/ul></li><>
<li>Pour une entrée Locale avec une valeur de script non vide, ajoutez des candidats Localeen omettant le composant final jusqu’à la langue, puis ajoutez les candidats générés à partir du pays et de la Locale variante restaurés :
<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><> [<em>L</em>, em C</em, em>><<em>V</em]</li li>>< [<em>L</em, <em>> C</em>]</li [><<>em>L</em>]</li><liLocale.ROOT<>/li></ul></li>>
<li>Pour une entrée Locale avec une valeur variant composée de plusieurs sous-balises séparées par un trait de soulignement, générez Localeles candidats en omettant les sous-balises variant un par un, puis insérez-les après chaque occurrence de Locales avec la valeur de variante complète dans la liste d’origine. Par exemple, si la variante se compose de deux sous-balises <em>V1</em> et <em>V2</em> :
<ul><li> [<em>L</em>, <em>S</em>, <em>C</em, <em>V1</em>>, <em>V2</em>]</li><[><em>L</em>, em>S/em, <em<> S</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>
<li>Cas spéciaux pour chinois. Lorsqu’une entrée Locale a la langue « zh » (chinois) et une valeur de script vide, « Hans » (simplifié) ou « Hant » (traditionnel) peut être fourni, selon le pays. Lorsque le pays est « CN » (Chine) ou « SG » (Singapour), « Hans » est fourni. Lorsque le pays est « HK » (Hong Kong SAR China), « MO » (Macau SAR China) ou « TW » (Taïwan), « Hant » est fourni. Pour tous les autres pays ou lorsque le pays est vide, aucun script n’est fourni. Par exemple, pour Locale("zh", "CN") , la liste des candidats sera : <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></>Locale.ROOT<li/li></ul>
Pour Locale("zh", "TW"), la liste candidate sera : <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>Cas spéciaux pour norvégien. Les deux Locale("no", "NO", "NY") et Locale("nn", "NO") représentent le Nynorsk norvégien. Quand la langue d’un paramètre régional est « nn », la liste des candidats standard est générée jusqu’à [<em>L</em>(« nn »)], puis les candidats suivants sont ajoutés :
<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</ul><>
Si les paramètres régionaux sont exactement Locale("no", "NO", "NY"), il est d’abord converti en Locale("nn", "NO") puis la procédure ci-dessus est suivie.
En outre, Java traite la langue « non » comme synonyme de Bokmå norvégien ; l « nb ». À l’exception de la casse Locale("no", "NO", "NY") unique (gérée ci-dessus), lorsqu’une entrée Locale a la langue « non » ou « nb », les candidats Localeavec le code de langue « non » et « nb » sont entrelacés, tout d’abord en utilisant la langue demandée, puis en utilisant son synonyme. Par exemple, Locale("nb", "NO", "POSIX") génère la liste candidate suivante :
<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><[>><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") générerait la même liste, sauf que les paramètres régionaux avec « non » s’affichent avant les paramètres régionaux correspondants avec « nb ».</li></ol>
L’implémentation par défaut utilise une ArrayList implémentation substituante peut modifier avant de la renvoyer à l’appelant. Toutefois, une sous-classe ne doit pas la modifier une fois qu’elle a été retournée par getCandidateLocales.
Par exemple, si le message donné baseName est « Messages » et que l’élément donné locale est Locale("ja", "", "XX"), un List de Locales :
Locale("ja", "", "XX")
Locale("ja")
Locale.ROOT
est renvoyée. Et si les bundles de ressources pour les « ja » et « » Localesont trouvés, le chemin de recherche des ressources runtime (chaîne parente) est :
{@code
Messages_ja -> Messages
}
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.