وینیلا JS حوالہ
create18waysEngine(options)
@18ways/core/engine سے import کریں۔
import { create18waysEngine } from '@18ways/core/engine';عام اختیارات:
| آپشن | قسم | نوٹس |
|---|---|---|
apiKey | string | ضروری ہے۔ |
baseLocale | string | ماخذ لوکیل۔ |
مقامی زبان | string | موجودہ ہدف مقام۔ |
سیاق و سباق | string | object | طے شدہ context key. |
initialTranslations | Translations | اختیاری ابتدائی کیش۔ |
apiUrl | string | اختیاری API بیس اووررائیڈ۔ |
fetcher | fetch کی قسم | کسٹم فیچ امپلیمنٹیشن۔ |
cacheTtlSeconds | عدد | درخواست کی کیش TTL. |
origin | string | اصل سرور سائیڈ درخواستوں پر آگے بھیجا گیا۔ |
انجن کے طریقے
t(text, options?)
ایک سٹرنگ کا ترجمہ کریں اور حل شدہ ویلیو واپس کریں۔
setLocale(locale)
ٹارگٹ لوکیل تبدیل کریں۔
getLocale()
موجودہ ہدف لوکیل پڑھیں۔
getStore()
بنیادی ترجمہ اسٹور تک رسائی حاصل کریں۔
TranslationStore
engine.getStore() نچلی سطح کا runtime state machine ظاہر کرتا ہے۔ store میں locale state، config، hydrated translations، یاد رکھی گئی source strings، اور بلاک کرنے والی لوڈنگ حالت شامل ہوتی ہے۔
عام طریقے:
| طریقہ | نوٹس |
|---|---|
getState() | موجودہ منتخب لوکیل، طے شدہ لوکیل، config، اور cached translations پڑھتا ہے۔ |
hydrate(input) | ترجمے اور config کو store میں merge کریں۔ SSR یا custom bootstrapping کے لیے مفید۔ |
dehydrate() | store کو ایک merge-friendly hydration payload میں snapshot کریں۔ |
loadConfig() | accepted locales اور fallback config ایک بار fetch کریں، پھر نتیجہ cache کر لیں۔ |
setLocale(locale) | اسٹور کے اندر ایک لوکیل ٹرانزیشن شروع کریں۔ |
getTranslationSync(input) | synchronous read جو یا تو تیار ویلیو واپس کرتا ہے یا fallback ویلیو کے ساتھ pending read۔ |
getTranslation(input) | آخری translated string پر حل ہونے والا async translation read۔ |
isLoading(input?) | جب بلاک کرنے والا ترجمہ کام ابھی بھی زیرِ التوا ہو، عالمی طور پر یا ایک context کے لیے، تو true واپس کرتا ہے۔ |
waitForIdle(input?) | جب بلاک کرنے والا ترجمہ کام مکمل ہو جائے تو resolve ہوتا ہے۔ لوڈنگ پسِ منظر میں جاری رہتے ہوئے ایک ڈیڈلائن کے بعد انتظار روکنے کے لیے timeoutMs پاس کریں۔ |
getIdleState(input?) | store کی ملکیت والا timed wait state واپس کرتا ہے جسے renderers استعمال کرتے ہیں: {timedOut, promise}۔ |
mount(entry) / unmount(entry) | انٹیگریشنز کے لیے اختیاری ماؤنٹ ٹریکنگ، جو ماؤنٹ سے آگاہ garbage collection کو فعال کرتی ہیں۔ |
اگر آپ @18ways/core کو براہِ راست استعمال کر رہے ہیں، تو عموماً آپ engine.t(...) کی سطح پر ہی رہتے ہیں۔ جب آپ اپنا rendering runtime یا hydration layer بنا رہے ہوں تو store کی طرف رجوع کریں۔
t() کے آپشنز
| آپشن | قسم | نوٹس |
|---|---|---|
مقامی زبان | string | اس کال کے لیے ہدف لوکیل کو اووررائیڈ کریں۔ |
baseLocale | string | اس کال کے لیے بنیادی لوکیل کو اوور رائیڈ کریں۔ |
سیاق و سباق | string | object | اس کال کے لیے سیاق و سباق کو اوور رائیڈ کریں۔ |
vars | Record<string, unknown> | waysParser کے لیے متغیر input۔ |
Utility exports
کور پیکیج مزید کم سطحی ہیلپرز بھی ایکسپورٹ کرتا ہے، جیسے کہ:
fetchAcceptedLocalesfetchConfig- لوکل یوٹیلٹیز
انھیں اُس وقت استعمال کریں جب آپ کو ان کی ضرورت ہو، لیکن انجن بطورِ ڈیفالٹ نقطۂ آغاز ہونا چاہیے۔