Vanilla JS reference

create18waysEngine(options)

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

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

Common options:

Optionقسمنوٹس
apiKeystringضروری ہے۔
baseLocalestringماخذ لوکیل۔
مقامی زبانstringموجودہ ہدف مقام۔
سیاق و سباقstring | objectDefault context key.
initialTranslationsTranslationsOptional starting cache.
apiUrlstringOptional API base override.
fetcherfetch کی قسمکسٹم فیچ امپلیمنٹیشن۔
cacheTtlSecondsعددRequest cache TTL.
originstringOrigin forwarded on server-side requests.

Engine methods

t(text, options?)

Translate a string and return the resolved value.

setLocale(locale)

Change the target locale.

getLocale()

Read the current target locale.

getStore()

Access the underlying translation store.

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() کے آپشنز

Optionقسمنوٹس
مقامی زبانstringOverride the target locale for this call.
baseLocalestringOverride the base locale for this call.
سیاق و سباقstring | objectOverride the context for this call.
varsRecord<string, unknown>waysParser کے لیے متغیر input۔

Utility exports

The core package also exports lower-level helpers such as:

  • fetchAcceptedLocales
  • fetchConfig
  • locale utilities

Use those when you need them, but the engine should be the default starting point.

Changing language
سادہ JS حوالہ