← Pojęcia

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.

Obejrzyj · 0:42 Kluczowe pliki

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

Obejrzyj · 1:38 Tłumaczenie bloku 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.

Szukaj w dokumentacji i Centrum nauki