useTranslations()
Référence API pour le hook useTranslations
Aperçu
useTranslations()
est utilisé pour accéder aux traductions de chaînes depuis le dictionnaire de traduction.
Il doit être utilisé dans un composant enveloppé par un <GTProvider>
.
const d = useTranslations(); // Get the translation function
d('greeting.hello'); // pass the id to get a translation
useTranslations()
utilise un dictionnaire pour stocker tout le contenu à traduire.
Ceci est différent de l'utilisation du composant <T>
pour la traduction.
Si vous êtes uniquement intéressé par l'utilisation des composants <T>
pour la traduction, alors ce document n'est pas pertinent.
Référence
Paramètres
Prop | Type | Default |
---|---|---|
id?? | string | undefined |
Description
Prop | Description |
---|---|
id | Un préfixe optionnel à ajouter au début de toutes les clés de traduction. Ceci est utile pour travailler avec des valeurs de dictionnaire imbriquées. |
Retourne
Une fonction de traduction d()
qui, étant donné un id, retournera la version traduite de l'entrée correspondante
(id: string, options?: DictionaryTranslationOptions) => React.ReactNode
Nom | Type | Description |
---|---|---|
id | string | L'id de l'entrée à traduire |
options? | DictionaryTranslationOptions | Options de traduction pour personnaliser le comportement de d() . |
Exemples
Utilisations de base
Chaque entrée de votre dictionnaire est traduite.
const dictionary = {
greeting: "Hello, Bob",
};
export default dictionary;
Lorsque nous voulons accéder à ces entrées, nous appelons useTranslations()
.
Cela retourne une fonction qui accepte la clé d'une traduction du dictionnaire.
Vous devez passer le dictionnaire au composant GTProvider
.
import { useTranslations } from 'gt-react';
import dictionary from "./dictionary.json"
export default async function TranslateGreeting() {
const d = useTranslations();
return (
<GTProvider dictionary={dictionary}>
<p>
{d('greeting')} // [!code highlight]
</p>
</GTProvider>
);
}
Utilisation de variables
Pour passer des valeurs, vous devez (1) assigner un identifiant et (2) référencer l'identifiant lors de l'appel de la fonction d()
.
Dans cet exemple, nous utilisons {}
pour passer des variables aux traductions.
Dans le dictionnaire, nous assignons l'identifiant {userName}
.
const dictionary = {
greeting: "Hello, {userName}!",
};
export default dictionary;
import { useTranslations } from 'gt-react';
export default async function TranslateGreeting() {
const d = useTranslations();
// Hello Alice!
const greetingAlice = d('greeting', { userName: "Alice" });
return (
<p>
{greetingAlice} // Hello, Alice // [!code highlight]
</p>
);
}
Utilisation de préfixes
Nous pouvons utiliser des préfixes pour ne traduire qu'un sous-ensemble du dictionnaire.
const dictionary = {
prefix1: {
prefix2: {
greeting: "Hello, Bob",
}
}
};
export default dictionary;
Parce que nous avons ajouté la valeur 'prefix1.prefix2'
au hook useTranslations
, toutes les clés sont préfixées avec prefix1.prefix2
:
import { useTranslations } from 'gt-react';
export default function UserDetails() {
const d = useTranslations('prefix1.prefix2');
return (
<div>
<p>{d('greeting')}</p> // greeting => prefix1.prefix2.greeting // [!code highlight]
</div>
);
}
Notes
- La fonction
useTranslations()
vous permet d'accéder aux traductions du dictionnaire. - Le hook
useTranslations()
ne peut être utilisé que dans un composant enveloppé par un composant<GTProvider>
.
Prochaines étapes
- Apprenez-en plus sur l'utilisation des dictionnaires dans la référence des dictionnaires.
Comment trouvez-vous ce guide ?