← Concepts

Découverte des jetons

La « découverte de tokens » est la manière dont le SDK détermine ce qui doit être traduit, automatiquement, à partir de la façon dont vous écrivez votre interface. Il existe quatre briques de base, chacune adaptée à un type de contenu différent.

Regarder · 0:42 Fichiers clés

t() — une chaîne en ligne

L’outil principal. Appelez-le avec le texte source : il renvoie la traduction pour la langue active (ou le texte source lui-même si cette langue n’est pas encore prête). La catégorie facultative regroupe des phrases liées et est transmise au traducteur automatique comme contexte ; les paramètres remplacent les {placeholders}.

const t = useT();

// t(phrase, category?, params?)
t('Hello, {name}!', 'Greetings', { name });

<Translate> : un bloc de contenu

Regarder · 1:38 Traduire un bloc de contenu

Encadrez une région de balisage et le SDK la découpe en bloc de contenu — chaque nœud de texte devient une phrase — puis retraduit l'ensemble du bloc à chaque changement de langue. Il est identifié par un ID stable, dérivé de son contenu et de sa catégorie, de sorte que le même bloc est reconnu d'un rendu à l'autre et après chaque rechargement.

<Translate category="Home">
  <p>Welcome to our store. Browse the catalog in your language.</p>
</Translate>

<Phrase> — une phrase, avec balisage

Lorsqu'une phrase contient du balisage en ligne ou de l'interpolation, <Phrase> la conserve comme une seule unité traduisible — ainsi « Bonjour Sarah, vous avez 3 articles » est traduit comme une phrase naturelle et non en fragments. Il prend en charge les paramètres et le pluriel.

<Phrase category="Cart" params={{ name: 'Sarah', count: 3 }}>
  Hi %name%, you have %count% items in your cart.
</Phrase>

Marqueurs d'espace réservé. Écrivez l'interpolation sous la forme {name}. Dans un balisage où un framework utilise déjà { } (JSX, Vue, Svelte), écrivez plutôt %name% : le SDK le normalise en {name} lorsqu'il capture la phrase.

<DontTranslate> — à laisser tel quel

Noms de marque, code, identifiants, adresses : marquez une zone à ne jamais traduire. Elle s'affiche avec translate="no" et est totalement ignorée lors de la détection.

<p>Welcome! <DontTranslate>This sentence always stays in English.</DontTranslate> Thanks for visiting!</p>

La découverte n'a lieu qu'avec une clé d'écriture. Dans le navigateur, vous livrez une clé en lecture seule, donc le SDK n'enregistre jamais rien : il se contente de récupérer les traductions qui existent déjà. L'enregistrement relève de la phase de développement. Voir Clés et environnements.

Rechercher dans la documentation et le centre d'apprentissage