وینیلا JS حوالہ

create18waysEngine(options)

@18ways/core/engine سے import کریں۔

ts
import { create18waysEngine } from '@18ways/core/engine';

عام اختیارات:

آپشنقسمنوٹس
apiKeystringضروری ہے۔
baseLocalestringماخذ لوکیل۔
مقامی زبانstringموجودہ ہدف مقام۔
سیاق و سباقstring | objectطے شدہ context key.
initialTranslationsTranslationsاختیاری ابتدائی کیش۔
apiUrlstringاختیاری API بیس اووررائیڈ۔
fetcherfetch کی قسمکسٹم فیچ امپلیمنٹیشن۔
cacheTtlSecondsعدددرخواست کی کیش TTL.
originstringاصل سرور سائیڈ درخواستوں پر آگے بھیجا گیا۔

انجن کے طریقے

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اس کال کے لیے ہدف لوکیل کو اووررائیڈ کریں۔
baseLocalestringاس کال کے لیے بنیادی لوکیل کو اوور رائیڈ کریں۔
سیاق و سباقstring | objectاس کال کے لیے سیاق و سباق کو اوور رائیڈ کریں۔
varsRecord<string, unknown>waysParser کے لیے متغیر input۔

Utility exports

کور پیکیج مزید کم سطحی ہیلپرز بھی ایکسپورٹ کرتا ہے، جیسے کہ:

  • fetchAcceptedLocales
  • fetchConfig
  • لوکل یوٹیلٹیز

انھیں اُس وقت استعمال کریں جب آپ کو ان کی ضرورت ہو، لیکن انجن بطورِ ڈیفالٹ نقطۂ آغاز ہونا چاہیے۔

سادہ JS حوالہ