Components

Plural

Referencia de API del componente <Plural>

Descripción general

Usamos el componente <Plural> para manejar la conjugación de oraciones. Piensa en la diferencia entre las oraciones: "You have one item." y "You have two items."

En inglés, debes definir dos oraciones diferentes según la cantidad de elementos. En otros idiomas, puedes necesitar definir hasta seis.

const count = 1;
<Plural n={count}
  singular={Tienes un elemento.}
  plural={Tienes varios elementos.}
/>

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

Nombre de propDescripció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 la configuración regional de formato. Si no se proporciona, se usa la configuración regional predeterminada 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.

Lanza

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


¿Qué formas debo añadir?

Solo necesitas usar las formas plurales 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 elemento.}
      plural={Tienes varios elementos.}
    />
  );
}

Contenidos de respaldo

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={You have one item.}
    >
      Tienes varios artículos. // [!code highlight]
    </Plural>
  );
}

Traducción de plurales

Lo único que debes 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 elemento.} 
      plural={Tienes varios elementos.} 
    />
  );
}

Agregar variables

¿Qué pasa si queremos agregar algunas variables a la oración 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.} 
    />
  );
}

Cuando estés dentro de un componente <T>, rodea todo el contenido dinámico con <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 usa para gestionar la pluralización.
  • Las ramas 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 ver más ejemplos, consulta la guía de referencia sobre componentes con ramificación aquí.
  • Para un uso más avanzado, combina <Plural> con componentes de variables como <Currency>, <DateTime>, <Num> y <Var>. Lee más sobre los componentes de variables aquí.

¿Qué te parece esta guía?