PluralFormat Classe
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.
PluralFormat prend en charge la création de messages internationalisés avec une inflexion plurielle.
[Android.Runtime.Register("android/icu/text/PluralFormat", ApiSince=24, DoNotGenerateAcw=true)]
public class PluralFormat : Android.Icu.Text.UFormat
[<Android.Runtime.Register("android/icu/text/PluralFormat", ApiSince=24, DoNotGenerateAcw=true)>]
type PluralFormat = class
inherit UFormat
- Héritage
- Attributs
Remarques
PluralFormat prend en charge la création de messages internationalisés avec une inflexion plurielle. Il est basé sur la sélection au pluriel, c’est-à-dire que l’appelant spécifie des messages pour chaque cas pluriel qui peut apparaître dans la langue de l’utilisateur et les PluralFormat sélections du message approprié en fonction du nombre.
<h3>Le problème des formes pluralisées dans les messages< internationalisés/h3>
Différentes langues ont différentes façons d’inflexer les pluriels. La création de messages internationalisés qui incluent des formulaires pluriels n’est possible que lorsque le cadre est en mesure de gérer correctement les formes plurielles de toutes les langues.
ChoiceFormat ne gère pas cela correctement, car il attache un intervalle de nombre à chaque message et sélectionne le message dont l’intervalle contient un nombre donné. Cela ne peut gérer qu’un nombre fini d’intervalles. Mais dans certaines langues, comme le polonais, un cas pluriel s’applique à de nombreux intervalles infiniment (par exemple, le cas paucal s’applique aux nombres se terminant par 2, 3 ou 4 sauf ceux se terminant par 12, 13 ou 14). Ainsi ChoiceFormat n’est pas adéquat.
PluralFormat traite de cela en cassant le problème en deux parties : <ul><li>Il utilise PluralRules qui peut définir des conditions plus complexes pour un cas pluriel qu’un seul intervalle. Ces règles plurales définissent à la fois les cas pluriels qui existent dans une langue et les nombres auxquels ces cas s’appliquent.
<li>It fournit des règles plurales prédéfinies pour de nombreuses langues. Ainsi, le programmeur n’a pas besoin de s’inquiéter des cas pluriels d’une langue et n’a pas à définir les cas pluriels ; ils peuvent simplement utiliser les mots clés prédéfinis. La mise en forme plurale entière des messages peut être effectuée à l’aide de modèles localisés à partir d’ensembles de ressources. Pour connaître les règles plurielles prédéfinies, consultez la page Règles plurielles du langage CLDR à l’adresse https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/language_plural_rules.html</ul>
<Utilisation de >PluralFormat/h4<>
Remarque : En règle générale, la mise en forme plurale est effectuée par le biais MessageFormat d’un type d’argument plural , plutôt que d’utiliser une mise en forme autonome PluralFormat.
Cette discussion suppose que vous utilisez PluralFormat avec un ensemble prédéfini de règles pluriels. Vous pouvez en créer un à l’aide de l’un des constructeurs qui acceptent un ULocale objet. Pour spécifier le modèle de message, vous pouvez le transmettre au constructeur ou le définir explicitement à l’aide de la applyPattern() méthode. La format() méthode prend un objet nombre et sélectionne le message de la casse plurielle correspondante. Ce message est retourné.
<Modèles h5>et leur interprétation</h5>
Le texte du modèle définit la sortie du message pour chaque cas pluriel des paramètres régionaux spécifiés. Syntaxe : <blockquote>
pluralStyle = [offsetValue] (selector '{' message '}')+
offsetValue = "offset:" number
selector = explicitValue | keyword
explicitValue = '=' number // adjacent, no white space in between
keyword = [^[[:Pattern_Syntax:][:Pattern_White_Space:]]]+
message: see {@link MessageFormat}
</blockquote> Pattern_White_Space entre les éléments de syntaxe est ignorée, sauf entre les {accolades} et leur sous-message, et entre le '=' et le nombre d’une valeur explicite.
Il existe 6 mots clés de cas prédéfinis dans CLDR/ICU - 'zéro', 'one', 'two', 'few', 'many' et 'other'. Vous devez toujours définir un texte de message pour la casse plurielle par défaut «other » qui est contenue dans chaque ensemble de règles. Si vous ne spécifiez pas de texte de message pour un cas pluriel particulier, le texte du message de la casse plurielle «other » est affecté à ce cas pluriel.
Lors de la mise en forme, le numéro d’entrée est d’abord mis en correspondance avec les clauses explicitValue. S’il n’existe aucune correspondance exacte-nombre, un mot clé est sélectionné en appelant le PluralRules numéro <d’entrée em>moins le décalage</em>. (Le décalage est défini par défaut sur 0 s’il est omis de la chaîne de modèle.) S’il n’existe aucune clause avec ce mot clé, les clauses « other » sont retournées.
Un signe de livre non cité (#) dans le sous-message sélectionné lui-même (autrement dit, en dehors des arguments imbriqués dans le sous-message) est remplacé par le numéro d’entrée moins le décalage. La valeur nombre-moins-offset est mise en forme à l’aide d’un NumberFormat pour les paramètres régionaux de ' PluralFormats. Si vous avez besoin d’une mise en forme de nombre spéciale, vous devez utiliser un MessageFormat argument et spécifier explicitement un NumberFormat argument.
<
>strong Remarque :</strong> Cet argument est mise en forme sans soustraire le décalage ! Si vous avez besoin d’un format personnalisé et que vous avez un décalage non nul, vous devez passer la valeur number-minus-offset en tant que paramètre distinct.
Pour obtenir un exemple d’utilisation, consultez la documentation de MessageFormat classe.
<h4>Définition de règles< plurales personnalisées/h4>
Si vous avez besoin d’utiliser PluralFormat des règles personnalisées, vous pouvez créer un PluralRules objet et le transmettre au PluralFormatconstructeur. Si vous spécifiez également des paramètres régionaux dans ce constructeur, ces paramètres régionaux sont utilisés pour mettre en forme le nombre dans les textes du message.
Pour plus d'informations sur PluralRules, consultez PluralRules.
Java documentation pour android.icu.text.PluralFormat.
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.
Constructeurs
| Nom | Description |
|---|---|
| PluralFormat() |
Crée un nouveau numéro |
| PluralFormat(IntPtr, JniHandleOwnership) |
|
| PluralFormat(Locale, PluralRules) |
Crée un nouveau nombre |
| PluralFormat(Locale, PluralRules+PluralType) |
Crée un pluralFormat pour le type plural. |
| PluralFormat(Locale) |
Crée un nouveau nombre |
| PluralFormat(PluralRules, String) |
Crée un nouveau nombre |
| PluralFormat(PluralRules) |
Crée un nouveau nombre |
| PluralFormat(String) |
Crée un nouveau nombre |
| PluralFormat(ULocale, PluralRules, String) |
Crée un nouveau nombre |
| PluralFormat(ULocale, PluralRules) |
Crée un nouveau nombre |
| PluralFormat(ULocale, PluralRules+PluralType, String) |
Crée un pluralFormat pour un type pluriel, un modèle et des paramètres régionaux. |
| PluralFormat(ULocale, PluralRules+PluralType) |
Crée un pluralFormat pour le type plural. |
| PluralFormat(ULocale, String) |
Crée un nouveau nombre |
| PluralFormat(ULocale) |
Crée un nouveau nombre |
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| ThresholdClass |
|
| ThresholdType |
|
Méthodes
| Nom | Description |
|---|---|
| ApplyPattern(String) |
Définit le modèle utilisé par ce format pluriel. |
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de _Format) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| Equals(PluralFormat) |
Retourne la valeur true si cela est égal à pluralFormat fourni. |
| Format(Double) |
Met en forme un message pluriel pour un nombre donné. |
| Format(Object, StringBuffer, FieldPosition) |
Met en forme un message pluriel pour un nombre donné et ajoute le message mis en forme au message donné |
| Format(Object) |
Met en forme un objet pour produire une chaîne. (Hérité de _Format) |
| FormatToCharacterIterator(Object) |
Met en forme un objet produisant un |
| GetHashCode() |
Retourne une valeur de code de hachage pour l’objet. (Hérité de Object) |
| JavaFinalize() |
Obsolète.
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| Parse(String, ParsePosition) |
Cette méthode n’est pas encore prise en charge par |
| ParseObject(String, ParsePosition) |
Cette méthode n’est pas encore prise en charge par |
| ParseObject(String) |
Analyse le texte à partir du début de la chaîne donnée pour produire un objet. (Hérité de _Format) |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetNumberFormat(NumberFormat) |
Définit le format numérique utilisé par ce formateur. |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToPattern() |
Retourne le modèle de ce PluralFormat. |
| ToString() |
Retourne une représentation sous forme de chaîne de l’objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |