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 prop | Descripción |
|---|---|
n | Número usado para determinar la forma plural. Es obligatorio para la pluralización. |
children | Contenido de respaldo predeterminado que se renderiza si no se encuentra una rama plural coincidente. |
locales | Locales 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]: string | Ramas 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.
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.
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>.
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?
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
¿Qué te parece esta guía?