Components

Plural

Referencia de API del componente <Plural>

Descripción general

Usamos el componente <Plural> para gestionar la concordancia en las oraciones. Piensa en la diferencia entre: "You have one item." y "You have two items."

En inglés, debes definir dos oraciones diferentes según el número de elementos. En otros idiomas, puedes tener que definir hasta seis.

const count = 1;
<Plural n={count}
  singular={Tienes un artículo.}
  plural={Tienes varios artículos.}
/>

Referencias

Props

Prop

Type

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

Descripción

Prop NameDescripción
nNúmero usado para determinar la forma plural. Es obligatorio para la pluralización.
childrenContenido de respaldo predeterminado que se renderiza si no se encuentra una rama plural coincidente.
localeslocales opcionales para especificar el locale de formato. Si no se proporciona, se usa el locale predeterminado del usuario. Lee más sobre cómo especificar locales aquí.
[key]: stringRamas que representan formas plurales. Las ramas exactas dependen del locale.

Devuelve

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

Excepciones

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


¿Qué formas debo agregar?

Solo necesitas usar las formas de plural de tu idioma.

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

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

Lee más sobre las distintas formas aquí.


Ejemplos

Uso básico

Usa el componente <Plural> para gestionar 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.}
    />
  );
}

Contenido de respaldo predeterminado

Puedes proporcionar contenido de respaldo predeterminado en caso de que el value 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>
  );
}

Traducción de 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.} 
    />
  );
}

Agregar variables

¿Qué tal si agregamos algunas variables a la frase en plural?

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.} 
    />
  );
}

Dentro de un componente <T>, envuelve todo el contenido dinámico con <Currency>, <DateTime>, <Num> o <Var>.

<T id="itemCount">
  <Plural n={count}
    singular={Tienes <Num>{count}</Num> elemento.} 
    plural={Tienes <Num>{count}</Num> elementos.} 
  />
</T>

Notas

  • El componente <Plural> se utiliza para gestionar la pluralización.
  • Las ramas/pliegues plurales disponibles (p. ej., 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 la guía de referencia sobre componentes con ramificaciones aquí.
  • Para casos de uso más avanzados, combina <Plural> con componentes de variables como <Currency>, <DateTime>, <Num> y <Var>. Lee más sobre los componentes de variables aquí.

¿Qué te ha parecido esta guía?

Plural