← Konsep

Penemuan token

"Penemuan token" adalah cara SDK mengetahui apa saja yang perlu diterjemahkan — secara otomatis, dari cara Anda menulis UI. Ada empat blok penyusun, masing-masing untuk bentuk konten yang berbeda.

Tonton · 0:42 File utama

t() — string inline

Andalan utama. Panggil dengan teks sumber dan fungsi ini mengembalikan terjemahan untuk locale saat ini (atau teks sumber itu sendiri jika locale tersebut belum siap). category opsional mengelompokkan frasa yang berkaitan dan diteruskan ke mesin penerjemah sebagai konteks; params mengisi {placeholders}.

const t = useT();

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

<Translate> — sebuah blok konten

Tonton · 1:38 Menerjemahkan blok konten

Bungkus satu wilayah markup dan SDK akan men-tokenisasinya menjadi blok konten — setiap node teks menjadi satu frasa — lalu menerjemahkan ulang seluruh blok itu setiap kali locale berubah. Blok ini diidentifikasi dengan id stabil yang diturunkan dari konten dan kategorinya, sehingga blok yang sama dikenali di setiap render dan pemuatan ulang.

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

<Phrase> — satu kalimat, dengan markup

Ketika sebuah kalimat berisi markup inline atau interpolasi, <Phrase> mempertahankannya sebagai satu unit yang dapat diterjemahkan — sehingga "Hai Sarah, Anda punya 3 item" diterjemahkan sebagai satu kalimat yang natural, bukan potongan-potongan terpisah. Mendukung params dan pluralisasi.

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

Penanda placeholder. Tulis interpolasi sebagai {name}. Di dalam markup yang kurung kurawalnya sudah dipakai framework { } (JSX, Vue, Svelte), tulis %name% sebagai gantinya — SDK akan menormalkannya kembali menjadi {name} saat menangkap frasa tersebut.

<DontTranslate> — biarkan apa adanya

Nama merek, kode, pengenal, alamat — tandai suatu area agar tidak pernah diterjemahkan. Area ini dirender sebagai translate="no" dan sepenuhnya dilewati oleh proses penemuan.

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

Penemuan hanya terjadi dengan write key. Di browser, Anda mengirimkan key hanya-baca, sehingga SDK tidak pernah mendaftarkan apa pun — SDK hanya mengambil terjemahan yang sudah ada. Pendaftaran adalah aktivitas pada tahap pengembangan. Lihat Key & lingkungan.

Cari di dokumen & Learning Center