Yerel ayar deposu (locale store)
Langsys'te tepki veren her şey tek bir küçük durum parçasına bağlıdır: geçerli dili tutan bir store. Onu ayarlayın, ağaçtaki tüm çeviriler yeniden oluşturulsun. Sayfa yenilemek yok, rota değişikliği yok.
Her şeyi tek bir store yönetir
LangsysApp.init() işlevine bir UserLocaleStore verirsiniz — dil dizesini tutan reaktif bir değer. Bu, çerçevenizin reaktif olarak adlandırdığı şeydir: bir Langsys signal'i, bir Svelte writable veya bir Vue ref. Ona yazdığınızda SDK, her t(), <Translate> ve <Phrase> öğesini yeni dile göre yeniden çözümler.
import { LangsysApp, createLocaleStore } from 'langsys-js-react';
const locale = createLocaleStore('en-US'); // one reactive store
await LangsysApp.init({
projectid,
key, // read-only in the browser
UserLocaleStore: locale,
});
// Later — anywhere in the app:
locale.set('es-ES'); // every t(), <Translate>, <Phrase> re-renders Her framework bunu yerel olarak okur
Reaktif altyapı her çatıda farklıdır ama model aynıdır — etkin dil için tek bir doğruluk kaynağı, zaten kullandığınız kalıplar aracılığıyla sunulur.
// React — a hook returns the current t, re-rendering on change
const t = useT();
// Vue — a composable ref, auto-unwrapped in templates
const t = useT();
// Svelte — a store, auto-subscribed with $
$t('Hello, {name}!', 'Greetings', { name }); Dil değiştirince çeviri yerinde yenilenir
Store değiştiğinde SDK yeni yerel ayarın kataloğunu alır — tek istek, sayfa yenilemesi yok — ve katalog geldiğinde her şeyi yeniden çevirir. O ana kadar sayfa, gösterdiği dili korur; böylece hiçbir şey kaynak metne geri dönmez.
Enterpolasyon ve çoğul biçimler
Parametreler {placeholders} alanlarını doldurur. Sayı içeren cümleler kodunuzda tek biçimde kalır: Langsys, çeviri sırasında her dilin çoğul biçimlerini üretir ve SDK, uygun olan dalı işleme anında etkin yerel ayarda oluşturur.
t('You have {count} items', 'Cart', { count });
// You write that one flat sentence. Langsys generates each locale's plural
// forms during translation, and the SDK renders the branch your count matches:
// en → "1 item" / "3 items" · es → "1 artículo" / "3 artículos" Yan yana hilesi. Her bağlayıcı, ortak bir langsys-js-typescript çekirdeğine yetki devreder; böylece tek bir depo React, Vue ve Svelte'i aynı anda yönetebilir — karşılaştırma demosu de üçünü tek bir değiştiriciyle tam uyum içinde tutarak tam olarak bunu yapar.
Canlı deneyin: etkileşimli playground bir ifadeyi ve parametreleri düzenlemenize, dili değiştirmenize ve gerçek SDK'nın yeniden çeviri yapmasını izlemenize olanak tanır.