Wykrywanie tokenów
„Wykrywanie tokenów” to sposób, w jaki SDK ustala, co wymaga tłumaczenia — automatycznie, na podstawie tego, jak piszesz swój interfejs. Są cztery elementy składowe, każdy dla innego rodzaju treści.
t() — ciąg znaków w kodzie
Koń roboczy. Wywołaj ją z tekstem źródłowym, a zwróci tłumaczenie dla bieżącej wersji językowej (lub sam tekst źródłowy, jeśli ta wersja nie jest jeszcze gotowa). Opcjonalna kategoria grupuje powiązane frazy i jest przekazywana tłumaczowi maszynowemu jako kontekst; parametry wypełniają {placeholders}.
const t = useT();
// t(phrase, category?, params?)
t('Hello, {name}!', 'Greetings', { name }); <Translate> — blok treści
Otocz fragment znaczników, a SDK podzieli go na tokeny jako blok treści — każdy węzeł tekstowy stanie się frazą — a następnie przetłumaczy cały blok ponownie przy każdej zmianie ustawień regionalnych. Blok jest identyfikowany stabilnym id wyprowadzonym z jego treści i kategorii, dzięki czemu ten sam blok jest rozpoznawany przy kolejnych renderowaniach i przeładowaniach.
<Translate category="Home">
<p>Welcome to our store. Browse the catalog in your language.</p>
</Translate> <Phrase> — jedno zdanie ze znacznikami
Gdy zdanie zawiera znaczniki w treści lub interpolację, <Phrase> traktuje je jako jedną jednostkę do tłumaczenia — dzięki temu zdanie „Cześć Sarah, masz 3 elementy” jest tłumaczone jako jedno naturalne zdanie, a nie poszatkowane fragmenty. Obsługuje parametry i liczbę mnogą.
<Phrase category="Cart" params={{ name: 'Sarah', count: 3 }}>
Hi %name%, you have %count% items in your cart.
</Phrase> Znaczniki zastępcze. Interpolację zapisuj jako {name}. Wewnątrz znaczników, w których framework już rezerwuje { } (JSX, Vue, Svelte), użyj zamiast tego %name% — SDK zamieni to z powrotem na {name} podczas przechwytywania frazy.
<DontTranslate> — zostaw bez zmian
Nazwy marek, kod, identyfikatory, adresy — oznacz region, który nigdy nie ma być tłumaczony. Jest renderowany jako translate="no" i całkowicie pomijany podczas wykrywania.
<p>Welcome! <DontTranslate>This sentence always stays in English.</DontTranslate> Thanks for visiting!</p> Wykrywanie działa tylko z kluczem do zapisu. W przeglądarce udostępniasz klucz tylko do odczytu, więc SDK niczego nie rejestruje — pobiera wyłącznie istniejące już tłumaczenia. Rejestracja to czynność na etapie tworzenia aplikacji. Zobacz Klucze i środowiska.