Lenguaje

SelectFormat Clase

Definición

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

[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
Herencia
Atributos

Comentarios

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave. El patrón especifica cómo asignar palabras clave a frases y proporciona una frase predeterminada. El objeto proporcionado al método format es una cadena que coincide con las palabras clave. Si hay una coincidencia, se selecciona la frase correspondiente; De lo contrario, se usa la frase predeterminada.

<h3>Using SelectFormat for Gender Agreement</h3>

Nota: Normalmente, el formato de selección se realiza a través de MessageFormat con un select tipo de argumento, en lugar de usar un independiente SelectFormat.

El caso de uso principal del formato de selección es la inflexión basada en género. Cuando se insertan nombres o nombres en oraciones, su género puede afectar a los pronombres, las formas de verbo, los artículos y los adjetivos. Es necesario tener especial cuidado en el caso de que no se pueda determinar el género. El impacto varía entre idiomas:

<ul><li>English tiene tres géneros, y el género desconocido se controla como un caso especial. Los nombres usan el género de la persona con nombre (si se conoce), los nombres que hacen referencia a las personas usan género natural y los objetos inanimados suelen ser neutros. El género solo afecta a los pronombres: "él", "ella", "it", "ellos".

<li german>difiere del inglés en que el género de los nombres es bastante arbitrario, incluso para los nombres que hacen referencia a las personas ("Mä dchen", chica, es neutral). El género afecta a los pronombres ("er", "sie", "es"), artículos ("der", "die", "das"), y formas adjetivas ("guter Mann", "gute Frau", "gutes Mä dchen").

<li>french tiene solo dos géneros; como en alemán el género de nombres es bastante arbitrario - para el sol y la luna, los géneros son los opuestos de los en alemán. El género afecta a los pronombres ("il", "elle"), artículos ("le", "la"), formas adjetivas ("bon", "bonne"), y a veces formas de verbo ("allé", "allé e").

<li>Polaco distingue cinco géneros (o clases de sustantivos), masculino humano, animar masculinos no humanos, masculino inanimate, femenino y neuter. </ul>

Algunos otros lenguajes tienen clases de sustantivo que no están relacionadas con el género, pero similares en uso gramatical. Algunos idiomas africanos tienen alrededor de 20 clases de sustantivos.

<b>Nota:</b>Para el género de una persona en una oración determinada, normalmente es necesario distinguir solo entre mujeres, hombres y otros/desconocidos.

Para permitir que los localizadores creen patrones de oración que tengan en cuenta las dependencias de género de su lenguaje, el software debe proporcionar información sobre el género asociado a un nombre o nombre a MessageFormat. Se pueden distinguir dos casos principales:

<ul><li>Para las personas, la información de género natural debe mantenerse para cada persona. Se pueden usar palabras clave como "macho", "mujer", "mixta" (para grupos de personas) y "desconocidas".

<li>Para los nombres, se debe mantener la información de género gramatical para cada nombre y por idioma, por ejemplo, en agrupaciones de recursos. Las palabras clave "masculino", "femenina" y "neuter" se usan normalmente, pero algunos idiomas pueden requerir otras palabras clave. </ul>

La palabra clave resultante se proporciona a MessageFormat como un parámetro independiente del nombre o nombre al que está asociado. Por ejemplo, para generar un mensaje como "Jean fue a París", se proporcionarían tres argumentos independientes: el nombre de la persona como argumento 0, el género de la persona como argumento 1 y el nombre de la ciudad como argumento 2. El patrón de oración para inglés, donde el género de la persona no tiene ningún impacto en esta frase simple, no se referiría al argumento 1 en absoluto:

{0} went to {2}.

<b>Nota:</b> La oración completa debe incluirse (y repetirse parcialmente) dentro de cada frase. De lo contrario, los traductores tendrían que entrenarse sobre cómo mover bits de la oración dentro y fuera del argumento select de un mensaje. (Los ejemplos siguientes no siguen esta recomendación).

El patrón de oración para francés, donde el género de la persona afecta a la forma del participante, usa un formato de selección basado en el argumento 1:

{0} est {1, select, female {all&#xE9;e} other {all&#xE9;}} &#xE0; {2}.

Los patrones se pueden anidar, de modo que sea posible controlar las interacciones de número y género cuando sea necesario. Por ejemplo, si la oración anterior debe permitir que se inserten los nombres de varias personas, se puede usar el siguiente patrón de oración (con el argumento 0 la lista de nombres de las personas, el argumento 1 el número de personas, el argumento 2 su género combinado y el argumento 3 el nombre de la ciudad):

{0} {1, plural, 
            one {est {2, select, female {all&#xE9;e} other  {all&#xE9;}}}
            other {sont {2, select, female {all&#xE9;es} other {all&#xE9;s}}}
            }&#xE0; {3}.

<h4>Patrones y su interpretación</h4>

La SelectFormat cadena de patrón define la salida de la frase para cada palabra clave definida por el usuario. El patrón es una secuencia de pares (palabra clave, mensaje). Una palabra clave es un "identificador de patrón": [^[[:P attern_Syntax:][:P attern_White_Space:]]]+

Cada mensaje es una cadena de patrón MessageFormat incluida en {llaves}.

Siempre tiene que definir una frase para la palabra clave otherpredeterminada; esta frase se devuelve cuando la palabra clave proporcionada al format método no coincide con ninguna otra palabra clave. Si un patrón no proporciona una frase para other, el método al que se proporciona devuelve el error U_DEFAULT_KEYWORD_MISSING. <br> Pattern_White_Space entre palabras clave y mensajes se omite. Pattern_White_Space dentro de un mensaje se conserva y genera.

Example:
            MessageFormat msgFmt = new MessageFormat("{0} est " +
                "{1, select, female {all&#xE9;e} other {all&#xE9;}} &#xE0; Paris.",
                new ULocale("fr"));
            Object args[] = {"Kirti","female"};
            System.out.println(msgFmt.format(args));

Genera el resultado:<br>Kirti est all&#xE9;e &#xE0; Paris.

Java documentación para android.icu.text.SelectFormat.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
SelectFormat(IntPtr, JniHandleOwnership)

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

SelectFormat(String)

Crea un nuevo SelectFormat para una cadena de patrón determinada.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
JniPeerMembers

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
ThresholdClass

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

ThresholdType

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

Métodos

Nombre Description
ApplyPattern(String)

Establece el patrón usado por este formato de selección.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de _Format)
Construct(JniObjectReference, JniObjectReferenceOptions)

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
Equals(Object)

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
Format(Object, StringBuffer, FieldPosition)

Selecciona la frase de la palabra clave especificada.

Format(Object)

Da formato a un objeto para generar una cadena.

(Heredado de _Format)
Format(String)

Selecciona la frase de la palabra clave especificada.

FormatToCharacterIterator(Object)

Da formato a un objeto que genera un AttributedCharacterIteratorobjeto .

(Heredado de _Format)
GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
JavaFinalize()
Obsoletos.

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
ParseObject(String, ParsePosition)

Este método no es compatible con SelectFormat.

ParseObject(String)

Analiza el texto desde el principio de la cadena especificada para generar un objeto .

(Heredado de _Format)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToPattern()

Devuelve el patrón de este SelectFormat

ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

(Heredado de _Format)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

SelectFormat admite la creación de mensajes internacionalizados seleccionando frases basadas en palabras clave.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a