Strings

useGT()

Référence API pour la fonction de traduction de chaînes useGT()

Aperçu

La fonction useGT() est un hook pour traduire des chaînes de caractères au moment de la compilation.

const t = useGT();

<p>{  t('This text will be translated')  }</p>;

Traduction au moment de la compilation : Les traductions useGT() se produisent au moment de la compilation, avant le déploiement de votre application. Bien que vous puissiez passer des variables à la chaîne traduite, vous ne pouvez traduire que le contenu connu au moment de la compilation.

Référence

Paramètres

Aucun

Retours

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

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

Comportement

Production

Pendant le processus de CD, tout contenu à l'intérieur d'une fonction t() sera traduit avant que votre application ne soit déployée. Cela garantit des temps de chargement rapides pour toutes les locales, mais ne peut traduire que le contenu connu au moment de la construction.

Une fois générées, les traductions sont soit (1) stockées dans le CDN ou (2) stockées dans la sortie de construction de votre application, selon votre configuration. De là, le contenu traduit est servi à vos utilisateurs. Si une traduction n'est pas trouvée, elle reviendra au contenu original.

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

Développement

Pendant le développement, la fonction t() traduira le contenu à la demande. Ceci est utile pour prototyper à quoi ressemblera votre application dans différentes langues. N'oubliez pas d'ajouter une clé API de développement à votre environnement pour activer ce comportement.

Vous verrez un délai pendant la traduction à la demande en développement. Cela ne se produira pas pendant les constructions de production à moins que le contenu ne soit explicitement traduit à la demande, c'est-à-dire 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('Hello, Alice!')}
    </p>
  );
}

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

Utilisation de variables

Vous pouvez passer des variables aux traductions du dictionnaire.

import { useGT } from 'gt-next';

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

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

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

Utilisation du format de message ICU

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

import { useGT } from 'gt-next';

export default function TranslateGreeting() {
  const t = useGT();
  return (
    <p>
      {t('There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart', { count: 10 })}
    </p>
  );
}

Le format de message ICU est un moyen puissant de formater vos variables. Pour plus d'informations, consultez la documentation du format de message ICU.

Importation depuis gt-next/client

Si vous travaillez avec la directive "use client", vous devez importer depuis gt-next/client au lieu de gt-next.

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

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

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

Notes

  • La fonction useGT() est un hook qui traduit les chaînes de caractères.
  • Les traductions de chaînes avec useGT() se produisent avant l'exécution, pendant le processus de construction (sauf en développement).

Prochaines étapes

  • Voir getGT() pour les traductions de chaînes asynchrones au moment de la construction.
  • Pour les traductions à l'exécution, voir tx() et <Tx>.
  • Voir InlineTranslationOptions pour plus d'informations sur la personnalisation des traductions.

Comment trouvez-vous ce guide ?