getTranslations
Referencia de API de la función de traducción getTranslations del lado del servidor
Descripción general
getTranslations se usa para obtener traducciones de cadenas del diccionario de traducción en componentes server-side.
const d = await getTranslations(); // Obtiene la función de traducción
d('greeting.hello'); // pasa el id para obtener una traduccióngetTranslations admite:
- Traducción de contenido de cadenas y JSX.
- Inserción de variables y lógica condicional dentro de las traducciones.
- Prefijado opcional de id.
Para traducciones del lado del cliente, consulta useTranslations.
getTranslations y useTranslations utilizan un diccionario para almacenar todo el contenido a traducir.
Esto es diferente de usar el componente <T> para la traducción.
Si te interesa usar solo componentes <T> para la traducción, este documento no es relevante.
Referencias
Props
Prop
Type
Descripción
| Prop | Descripción |
|---|---|
id | Prefijo opcional que se antepone a todas las claves de traducción. Es útil para trabajar con valores de diccionario anidados. |
Devuelve
Una promesa de una función de traducción d que, dado un id, devolverá la versión traducida de la entrada correspondiente
Promise<(id: string, options?: DictionaryTranslationOptions) => React.ReactNode>| Nombre | Tipo | Descripción |
|---|---|---|
id | string | El id de la entrada que se va a traducir |
options? | DictionaryTranslationOptions | Opciones de traducción para personalizar el comportamiento de d. |
Ejemplos
Uso básico del diccionario
Cada Entry en tu diccionario se translate.
const dictionary = {
greeting: <>¡Hola, Alice!</>,
};
export default dictionary;Cuando queremos acceder a estas entradas (en el lado del servidor), llamamos a getTranslations.
Esto devuelve una función que acepta la clave de una traducción del diccionario.
import { getTranslations } from 'gt-next/server';
export default async function TranslateGreeting() {
const d = await getTranslations();
return (
<p>
{d('greeting')} // Hola, Alice // [!code highlight]
</p>
);
}Uso de variables
Para pasar valores, debes (1) asignar un identificador y (2) hacer referencia a ese identificador al llamar a la función d.
En este ejemplo, usamos {} para pasar variables a las traducciones.
En el diccionario, asignamos el identificador {userName}.
const dictionary = {
greeting: "¡Hola, {userName}!",
};
export default dictionary;import { getTranslations } from 'gt-next/server';
export default async function TranslateGreeting() {
const d = await getTranslations();
// ¡Hola, Alice!
const greetingAlice = d('greeting', { userName: "Alice" });
return (
<p>
{greetingAlice}
</p>
);
}Uso de prefijos
Podemos utilizar prefijos para obtener solo un subconjunto del diccionario.
const dictionary = {
prefix1: {
prefix2: {
greeting: "Hola, Bob",
}
}
};
export default dictionary;Como agregamos el value 'prefix1.prefix2' al método getTranslations, todas las claves quedan con el prefijo prefix1.prefix2:
import { getTranslations } from 'gt-next/server';
export default function UserDetails() {
const d = await getTranslations('prefix1.prefix2');
return (
<div>
<p>{d('greeting')}</p> // greeting => prefix1.prefix2.greeting // [!code highlight]
</div>
);
}Notas
- La función
getTranslationste permite acceder a las traducciones del diccionario en el lado del servidor.
Próximos pasos
- Consulta
useTranslationspara la versión del lado del cliente degetTranslations.
¿Qué te parece esta guía?