Token-Erkennung
Die „Token-Erkennung“ ist die Art, wie das SDK herausfindet, was übersetzt werden muss – automatisch, anhand der Art, wie du deine Benutzeroberfläche schreibst. Es gibt vier Bausteine, jeweils für eine andere Form von Inhalt.
t() – ein Inline-String
Das Arbeitstier. Rufen Sie sie mit dem Quelltext auf, und sie liefert die Übersetzung für die aktuelle Sprache (oder den Quelltext selbst, falls diese Sprache noch nicht bereit ist). Die optionale Kategorie gruppiert zusammengehörige Phrasen und wird als Kontext an die maschinelle Übersetzung weitergegeben; Parameter füllen {placeholders}.
const t = useT();
// t(phrase, category?, params?)
t('Hello, {name}!', 'Greetings', { name }); <Translate> – ein Inhaltsblock
Umschließen Sie einen Markup-Bereich, und das SDK zerlegt ihn in einen Content-Block – jeder Textknoten wird zu einer Phrase – und übersetzt den gesamten Block bei jedem Sprachwechsel neu. Er wird über eine stabile ID identifiziert, die aus Inhalt und Kategorie abgeleitet wird, sodass derselbe Block über Renderings und Neuladevorgänge hinweg wiedererkannt wird.
<Translate category="Home">
<p>Welcome to our store. Browse the catalog in your language.</p>
</Translate> <Phrase> – ein Satz, mit Markup
Enthält ein Satz Inline-Markup oder Interpolation, behandelt <Phrase> ihn als eine einzige übersetzbare Einheit – so wird „Hi Sarah, you have 3 items“ als ein natürlicher Satz statt als zerstückelte Fragmente übersetzt. Es unterstützt Parameter und Pluralisierung.
<Phrase category="Cart" params={{ name: 'Sarah', count: 3 }}>
Hi %name%, you have %count% items in your cart.
</Phrase> Platzhalter-Markierungen. Schreiben Sie Interpolationen als {name}. Innerhalb von Markup, in dem ein Framework bereits { } beansprucht (JSX, Vue, Svelte), schreiben Sie stattdessen %name% – das SDK wandelt es beim Erfassen der Phrase wieder in {name} um.
<DontTranslate> – in Ruhe lassen
Markennamen, Code, Bezeichner, Adressen – markieren Sie einen Bereich, der nie übersetzt werden soll. Er wird als translate="no" ausgegeben und bei der Erkennung vollständig übersprungen.
<p>Welcome! <DontTranslate>This sentence always stays in English.</DontTranslate> Thanks for visiting!</p> Die Erkennung funktioniert nur mit einem Schreibschlüssel. Im Browser lieferst du einen schreibgeschützten Schlüssel aus, daher registriert das SDK nichts – es ruft nur bereits vorhandene Übersetzungen ab. Die Registrierung findet während der Entwicklung statt. Siehe Schlüssel & Umgebungen.