Inline Translations

useGT

Référence de l’API pour la fonction de traduction de chaînes de caractères `useGT`

Présentation

La fonction useGT est un hook qui permet de traduire des chaînes lors de la construction.

const t = useGT();

<p>{  t('Ce texte sera traduit')  }</p>;

Buildtime Translation : Les traductions useGT s’effectuent au moment du build, avant le déploiement de votre application. Bien que vous puissiez transmettre des variables à la chaîne traduite, vous ne pouvez traduire que le contenu connu au moment du build.

Références

Paramètres

Aucun

Renvoie

Une fonction de rappel, t, qui traduit le contenu fourni.

(content: string, options?: InlineTranslationOptions) => string
NomTypeDescription
contentstringLe contenu textuel à traduire.
options?InlineTranslationOptionsOptions de traduction pour personnaliser le comportement de t.

Comportement

Production

Pendant le processus de CD (Continuous Delivery/Déploiement continu), tout contenu à l’intérieur d’une fonction t est traduit avant le déploiement de votre application. Cela garantit des temps de chargement rapides pour tous les locales, mais ne peut traduire que le contenu connu au moment du build.

Une fois générées, les traductions sont soit (1) stockées dans le CDN (Content Delivery/Distribution Network), soit (2) intégrées dans le build de votre application, selon votre configuration. À partir de là, le contenu traduit est diffusé à vos utilisateurs. Si une traduction est introuvable, un secours s’applique avec le contenu d’origine.

Assurez-vous de suivre le guide de déploiement ici.

Développement

En développement, la fonction t traduira le contenu à la demande. C’est utile pour prototyper l’apparence de votre application dans différentes langues. N’oubliez pas d’ajouter une clé d’API de développement à votre environnement pour activer ce comportement.

Vous constaterez un délai lors des traductions à la demande en développement. Cela ne se produira pas dans les builds de production, sauf si le contenu est explicitement traduit à la demande, c.-à-d. en utilisant tx ou <Tx>.


Exemple

Utilisation de base

Vous pouvez utiliser useGT pour traduire des chaînes de caractères.

import { useGT } from 'gt-next';

export default function TranslateGreeting() {
  const t = useGT();

  return (
    <p>
      {t('Bonjour, Alice!')}
    </p>
  );
}

Remarque : « Alice » sera traduit dans la langue préférée de l’utilisateur.

Utilisation des variables

Vous pouvez transmettre des variables aux traductions du dictionary.

import { useGT } from 'gt-next';

export default function TranslateGreeting() {
  const t = useGT();

  return (
    <p>
      {t('Bonjour, {name} !', { name: 'Alice'  })}
    </p>
  );
}

Note : « Alice » ne sera pas traduite dans la langue préférée de l'utilisateur, car il s'agit d'une variable.

Utiliser le format de message ICU

gt-next prend en charge le format de message ICU, ce qui vous permet aussi de formater vos variables.

import { useGT } from 'gt-next';

export default function TranslateGreeting() {
  const t = useGT();
  return (
    <p>
      {t('Il y a {count, plural, =0 {aucun article} =1 {un article} other {{count} articles}} dans le panier', { count: 10 })}
    </p>
  );
}

Le format de message ICU est un moyen puissant pour mettre en forme vos variables. Pour en savoir plus, consultez la documentation du format de message ICU.

Importation depuis gt-next/client

Si vous utilisez la directive "use client", importez depuis gt-next/client plutôt que depuis gt-next.

"use client";
import { useGT } from 'gt-next/client';

export default function TranslateGreeting() {
  const t = useGT();

  return (
    <p>
      {t('Bonjour, Alice!')}
    </p>
  );
}

Notes

  • La fonction useGT est un hook qui traduit des chaînes de caractères.
  • Les traductions effectuées avec useGT sont générées avant l’exécution, lors du processus de build (sauf en développement).

Prochaines étapes

  • Consultez getGT pour les traductions de chaînes asynchrones lors du build.
  • Pour les traductions au runtime, consultez tx et <Tx>.

Que pensez-vous de ce guide ?

useGT