SelectFormat 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.
SelectFormat prend en charge la création de messages internationalisés en sélectionnant des expressions basées sur des mots clés.
[Android.Runtime.Register("android/icu/text/SelectFormat", ApiSince=24, DoNotGenerateAcw=true)]
public class SelectFormat : Java.Text._Format
[<Android.Runtime.Register("android/icu/text/SelectFormat", ApiSince=24, DoNotGenerateAcw=true)>]
type SelectFormat = class
inherit _Format
- Héritage
- Attributs
Remarques
SelectFormat prend en charge la création de messages internationalisés en sélectionnant des expressions basées sur des mots clés. Le modèle spécifie comment mapper des mots clés à des expressions et fournit une expression par défaut. L’objet fourni à la méthode de format est une chaîne mise en correspondance avec les mots clés. S’il existe une correspondance, l’expression correspondante est sélectionnée ; sinon, l’expression par défaut est utilisée.
<h3>Utilisation SelectFormat de l’accord< de genre/h3>
Remarque : En règle générale, la sélection de la mise en forme est effectuée par le biais MessageFormat d’un type d’argument select , plutôt que d’utiliser une mise en forme autonome SelectFormat.
Le cas d’usage principal pour le format de sélection est l’inflexion basée sur le sexe. Lorsque des noms ou noms sont insérés dans des phrases, leur sexe peut affecter les pronouns, les formes de verbes, les articles et les adjectifs. Des soins spéciaux doivent être pris pour le cas où le sexe ne peut pas être déterminé. L’impact varie selon les langues :
<ul><li>English a trois sexes, et le sexe inconnu est traité comme un cas spécial. Les noms utilisent le sexe de la personne nommée (si connue), les noms faisant référence à des personnes utilisent le sexe naturel et les objets inanimates sont généralement neutres. Le genre touche uniquement les pronous : « he », « she », « it », « they ».
<li>allemand diffère de l’anglais en ce que le sexe des noms est plutôt arbitraire, même pour les noms faisant référence aux gens (« Mä ; dchen", fille, est neutre). Le genre affecte les pronouns (« er », « sie », « es »), les articles (« der », « die », « das ») et les formes adjectives (« ó Mann », « gute Frau », « gutes Mä ; dchen").
<li>French n’a que deux sexes ; comme en allemand le sexe des noms est plutôt arbitraire - pour le soleil et la lune, les sexes sont l’opposé de ceux en allemand. Le sexe affecte les pronouns (« il », « elle »), les articles (« le », « la »), les formes adjectives (« bon », « bonne ») et parfois les formes de verbe (« allé ; », « allé ; ; e").
<li>Polonais distingue cinq sexes (ou classes de noms), masculin humain, animer un masculin non humain, inanimate masculin, féminin et néuter. </ul>
Certaines autres langues ont des classes de noms qui ne sont pas liées au sexe, mais similaires dans l’utilisation grammaticale. Certaines langues africaines ont environ 20 classes de noms.
<b>Remarque :</b>Pour le sexe d’une personne dans une phrase donnée, nous devons généralement distinguer uniquement les femmes, les hommes et les autres/inconnus.
Pour permettre aux localiseurs de créer des modèles de phrases qui prennent en compte les dépendances de sexe de leur langue, le logiciel doit fournir des informations sur le sexe associé à un nom ou un nom à MessageFormat. Deux cas principaux peuvent être distingués :
<ul><li>Pour les personnes, l’information naturelle sur le sexe doit être maintenue pour chaque personne. Les mots clés tels que « mâle », « femelle », « mixte » (pour les groupes de personnes) et « inconnus » peuvent être utilisés.
<Li>Pour les noms, les informations sur le sexe grammatical doivent être conservées pour chaque nom et par langue, par exemple, dans les groupes de ressources. Les mots clés « masculin », « féminin » et « néuter » sont couramment utilisés, mais certaines langues peuvent nécessiter d’autres mots clés. </ul>
Le mot clé résultant est fourni en MessageFormat tant que paramètre distinct du nom ou du nom associé. Par exemple, pour générer un message tel que « Jean est allé à Paris », trois arguments distincts sont fournis : le nom de la personne comme argument 0, le sexe de la personne comme argument 1 et le nom de la ville comme argument 2. Le modèle de phrase pour l’anglais, où le sexe de la personne n’a aucun impact sur cette phrase simple, ne ferait pas référence à l’argument 1 du tout :
{0} went to {2}.
<b>Remarque :</b> La phrase entière doit être incluse (et partiellement répétée) à l’intérieur de chaque expression. Sinon, les traducteurs doivent être formés sur la façon de déplacer des bits de la phrase dans et hors de l’argument select d’un message. (Les exemples ci-dessous ne suivent pas cette recommandation !)
Le modèle de phrase pour le français, où le sexe de la personne affecte la forme du participant, utilise un format de sélection basé sur l’argument 1 :
{0} est {1, select, female {allée} other {allé}} à {2}.
Les modèles peuvent être imbriqués, afin qu’il soit possible de gérer les interactions de nombre et de sexe si nécessaire. Par exemple, si la phrase ci-dessus doit autoriser l’insertion des noms de plusieurs personnes, le modèle de phrase suivant peut être utilisé (avec l’argument 0 la liste des noms des personnes, l’argument 1 le nombre de personnes, l’argument 2 leur sexe combiné et l’argument 3 le nom de la ville) :
{0} {1, plural,
one {est {2, select, female {allée} other {allé}}}
other {sont {2, select, female {allées} other {allés}}}
}à {3}.
<Modèles h4>et leur interprétation</h4>
La chaîne de SelectFormat modèle définit la sortie de l’expression pour chaque mot clé défini par l’utilisateur. Le modèle est une séquence de paires (mot clé, message). Un mot clé est un « identificateur de modèle » : [^[:P attern_Syntax :][:P attern_White_Space :]]]+
Chaque message est une chaîne de modèle MessageFormat placée dans {accolades}.
Vous devez toujours définir une expression pour le mot clé otherpar défaut ; cette expression est retournée lorsque le mot clé fourni à la format méthode ne correspond à aucun autre mot clé. Si un modèle ne fournit pas d’expression pour other, la méthode fournie pour renvoyer l’erreur U_DEFAULT_KEYWORD_MISSING.
<br> Pattern_White_Space entre les mots clés et les messages est ignoré. Pattern_White_Space dans un message est conservé et généré.
Example:
MessageFormat msgFmt = new MessageFormat("{0} est " +
"{1, select, female {allée} other {allé}} à Paris.",
new ULocale("fr"));
Object args[] = {"Kirti","female"};
System.out.println(msgFmt.format(args));
Produit le résultat :<br>Kirti est allée à Paris.
Java documentation pour android.icu.text.SelectFormat.
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 |
|---|---|
| SelectFormat(IntPtr, JniHandleOwnership) |
|
| SelectFormat(String) |
Crée une |
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 de sélection. |
| 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) |
| Format(Object, StringBuffer, FieldPosition) |
Sélectionne l’expression du mot clé donné. |
| Format(Object) |
Met en forme un objet pour produire une chaîne. (Hérité de _Format) |
| Format(String) |
Sélectionne l’expression du mot clé donné. |
| 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() |
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) |
| ParseObject(String, ParsePosition) |
Cette méthode n’est pas 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) |
| 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 pour cela |
| 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 |