getTranslations
Référence de l’API pour la fonction de traduction getTranslations côté serveur
Présentation
getTranslations permet de récupérer des chaînes traduites depuis le dictionary de traduction pour les composants côté serveur.
const d = await getTranslations(); // Récupère la fonction de traduction
d('greeting.hello'); // passe l'id pour obtenir une traductiongetTranslations prend en charge :
- La traduction de contenu texte et JSX.
- L’insertion de variables et la logique conditionnelle dans les traductions.
- Le préfixage facultatif des id.
Pour les traductions côté client, voir useTranslations.
getTranslations et useTranslations utilisent un dictionary pour stocker tout le contenu à traduire.
Cela diffère de l’utilisation du composant <T> pour la traduction.
Si vous souhaitez uniquement utiliser des composants <T> pour la traduction, ce document n’est pas pertinent.
Références
Props
Prop
Type
Description
| Prop | Description |
|---|---|
id | Un préfixe facultatif à préfixer à toutes les clés de traduction. Utile pour travailler avec des valeurs de dictionary imbriquées. |
Renvoie
Une promesse renvoyant une fonction de traduction d qui, pour un id donné, retourne la version traduite de l’Entry correspondante
Promise<(id: string, options?: DictionaryTranslationOptions) => React.ReactNode>| Nom | Type | Description |
|---|---|---|
id | string | L’id de l’Entry à traduire |
options? | DictionaryTranslationOptions | Options de traduction pour personnaliser le comportement de d. |
Exemples
Utilisation de base du dictionary
Chaque Entry de votre dictionary est traduite.
const dictionary = {
greeting: <>Bonjour, Alice !</>,
};
export default dictionary;Lorsque nous voulons accéder à ces entrées (côté serveur), nous appelons getTranslations.
Celle-ci renvoie une fonction qui prend la clé d’une traduction issue du dictionary.
import { getTranslations } from 'gt-next/server';
export default async function TranslateGreeting() {
const d = await getTranslations();
return (
<p>
{d('greeting')} // Bonjour, Alice // [!code highlight]
</p>
);
}Utilisation de variables
Pour transmettre des valeurs, vous devez (1) attribuer un identifiant et (2) référencer cet identifiant lors de l’appel de la fonction d.
Dans cet exemple, nous utilisons {} pour passer des variables aux traductions.
Dans le dictionary, nous attribuons l’identifiant {userName}.
const dictionary = {
greeting: "Bonjour {userName} !",
};
export default dictionary;import { getTranslations } from 'gt-next/server';
export default async function TranslateGreeting() {
const d = await getTranslations();
// Bonjour Alice !
const greetingAlice = d('greeting', { userName: "Alice" });
return (
<p>
{greetingAlice}
</p>
);
}Utiliser des préfixes
Nous pouvons utiliser des préfixes pour ne récupérer qu’un sous-ensemble du dictionary.
const dictionary = {
prefix1: {
prefix2: {
greeting: "Bonjour Bob",
}
}
};
export default dictionary;Comme nous avons ajouté la value 'prefix1.prefix2' à la méthode getTranslations, toutes les clés sont préfixées par 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>
);
}Notes
- La fonction
getTranslationsvous permet d’accéder aux traductions du dictionary côté serveur.
Prochaines étapes
- Consultez
useTranslationspour l’équivalent côté client degetTranslations.
Comment trouvez-vous ce guide ?