Components

<Plural>

Referencia de API para el componente <Plural>

Resumen

Usamos el componente <Plural> para manejar la conjugación de oraciones. Piensa en la diferencia entre las oraciones: "Tienes un artículo." y "Tienes dos artículos."

En inglés, tienes que definir dos oraciones diferentes según el número de artículos. En otros idiomas, tienes que definir hasta seis.

const count = 1;
<Plural n={count}
  singular={You have one item.}
  plural={You have some items.}
/>

Referencia

Props

PropTypeDefault
n?
number
-
children??
any
undefined
locales??
string[]
undefined
[key]: string?
string | JSX.Element
-

La sintaxis [key]: string indica claves arbitrarias que representan posibles ramas de pluralización. Por ejemplo, se pueden agregar ramas como singular y plural como parámetros.

Descripción

Nombre del PropDescripción
nEl número utilizado para determinar la forma plural. Esto es necesario para la pluralización.
childrenContenido alternativo para renderizar si no se encuentra una rama plural coincidente.
localesLocales opcionales para especificar el formato de la localidad. Si no se proporciona, se utiliza la localidad predeterminada del usuario. Lea más sobre cómo especificar locales aquí.
[key]: stringRamas que representan formas plurales. Las ramas exactas dependen de la localidad.

Devuelve

JSX.Element que contiene el contenido correspondiente a la forma plural de n, o el contenido alternativo.

Lanza

Error si n no se proporciona o no es un número válido.


¿Qué formas debo agregar?

Solo necesitas usar las formas plurales en tu idioma.

Las formas posibles son: "singular", "plural", "dual", "zero", "one", "two", "few", "many", "other".

  • Si eres un desarrollador usando "en-US", solo usa dos: "singular" y "plural".
  • Si eres un desarrollador en "zh-CN", solo usa "other".

Lee más sobre las diferentes formas aquí.


Ejemplos

Uso básico

Utiliza el componente <Plural> para manejar la pluralización.

BasicExample.jsx
import { Plural } from 'gt-next';
 
export default function ItemCount({ count }) {
  return (
    <Plural n={count} 
      singular={Tienes un artículo.}
      plural={Tienes algunos artículos.}
    />
  );
}

Alternativas

Puedes proporcionar una alternativa en caso de que el valor pasado a n no tenga ramas coincidentes.

FallbackExample.jsx
import { Plural } from 'gt-next';
 
export default function ItemCount({ count }) {
  return (
    <Plural n={count}
      singular={Tienes un artículo.}
    >
      Tienes algunos artículos. // [!code highlight]
    </Plural>
  );
}

Traduciendo plurales

Todo lo que tienes que hacer para traducir es añadir el componente <T>.

PluralExample.jsx
import { T, Plural } from 'gt-next';
 
export default function ItemCount({ count }) {
  return (
  <T id="itemCount">
    <Plural n={count}
      singular={Tienes un artículo.} 
      plural={Tienes algunos artículos.} 
    />
  );
}

Añadiendo variables

¿Qué pasa si queremos añadir algunas variables a la oración pluralizada?

PluralExample.jsx
import { T, Plural, Num } from 'gt-next';
 
export default function ItemCount({ count }) {
  return (
    <Plural n={count}
      singular={Tienes <Num>{count}</Num> artículo.} 
      plural={Tienes <Num>{count}</Num> artículos.} 
    />
  );
}

Cuando estés dentro de un componente <T>, envuelve todo el contenido dinámico con un <Currency>, <DateTime>, <Num>, o <Var>.

<T id="itemCount">
  <Plural n={count}
    singular={Tienes <Num>{count}</Num> artículo.} 
    plural={Tienes <Num>{count}</Num> artículos.} 
  />
</T>

Notas

  • El componente <Plural> se utiliza para manejar la pluralización.
  • Las ramas plurales disponibles (por ejemplo, one, other, few, many) dependen del locale y siguen las reglas de pluralización de Unicode CLDR.

Próximos pasos

  • Para más ejemplos, consulta el documento de referencia sobre componentes de ramificación aquí.
  • Para un uso más avanzado, combina <Plural> con componentes variables como <Currency>, <DateTime>, <Num>, y <Var>. Lee más sobre componentes variables aquí.

Para profundizar en la pluralización y ramificación, visita Uso de Componentes de Ramificación.

En esta página