useTranslations
Référence de l’API du hook useTranslations
Aperçu
useTranslations permet d’accéder aux traductions de chaînes depuis le dictionary de traduction.
Il doit être utilisé dans un composant enveloppé par un <GTProvider>.
const d = useTranslations(); // Récupérer la fonction de traduction
d('greeting.hello'); // Passer l’id pour obtenir la traductionPour les composants asynchrones, consultez getTranslations.
getTranslations et useTranslations utilisent un dictionary pour stocker l’ensemble du contenu à traduire.
Cela diffère de l’utilisation du composant <T> pour la traduction.
Si vous envisagez d’utiliser uniquement des composants <T> pour la traduction, ce document ne vous concerne pas.
Références
Paramètres
Prop
Type
Description
| Prop | Description | 
|---|---|
| id | Un préfixe facultatif à ajouter à toutes les clés de traduction. Utile pour travailler avec des valeurs imbriquées dans le dictionary. | 
Renvoie
Une fonction de traduction d qui, étant donné un id, renvoie la version traduite de l’Entry correspondante
(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 Bob", 
};
export default dictionary;Lorsque nous voulons accéder à ces entrées (côté client), nous appelons useTranslations.
Cela renvoie une fonction qui prend la clé d’une traduction dans le dictionary.
import { useTranslations } from 'gt-next';
export default async function TranslateGreeting() {
  const d = useTranslations(); 
  return (
    <p>
      {d('greeting')} // Bonjour, Alice // [!code highlight]
    </p>
  );
}Utilisation des variables
Pour transmettre des valeurs, vous devez (1) attribuer un identifiant et (2) faire référence à 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 { useTranslations } from 'gt-next';
export default async function TranslateGreeting() {
  const d = useTranslations();
  
  // Bonjour, Alice !
  const greetingAlice = d('greeting', { userName: "Alice" }); 
  return (
    <p>
      {greetingAlice}
    </p>
  );
}Utiliser des préfixes
Nous pouvons utiliser des préfixes pour ne traduire qu’un sous-ensemble du dictionary.
const dictionary = {
  prefix1: { 
    prefix2: { 
      greeting: "Bonjour, Bob",
    }
  }
};
export default dictionary;Comme nous avons ajouté la valeur 'prefix1.prefix2' au hook useTranslations, toutes les clés sont préfixées par prefix1.prefix2 :
import { useTranslations } from 'gt-next';
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 useTranslationspermet d’accéder aux traductions du dictionary côté client.
- Le hook useTranslationsne peut être utilisé que dans un composant enveloppé par un composant<GTProvider>.
Prochaines étapes
- Pour les traductions côté serveur, consultez getTranslations.
- Pour en savoir plus sur l’usage des dictionaries, voir la référence des dictionaries.
Que pensez-vous de ce guide ?

