بنیادی تصورات

18ways چند چیزوں کے بارے میں واضح رائے رکھتا ہے۔ جب یہ باتیں صاف ہو جائیں، تو API کے باقی حصے کو سمجھنا سیدھا سادا ہے۔

بنیادی لوکیل

آپ کی baseLocale وہ زبان ہے جس میں آپ لکھتے ہیں۔

اگر آپ کی پروڈکٹ کا متن برطانوی انگریزی میں لکھا گیا ہے، تو آپ کا بیس لوکل en-GB ہے۔ اگر یہ امریکی انگریزی میں لکھا گیا ہے تو آپ کا بیس لوکل en-US ہے۔

جب موجودہ لوکیل بیس لوکیل سے ملتی ہے، تو 18ways فوراً ماخذ متن واپس کر دیتا ہے اور ترجمے کا کام چھوڑ دیتا ہے۔

ٹارگٹ لوکیل

آپ کا ہدف مقام وہ زبان ہے جسے صارف اس وقت پڑھ رہا ہے۔

Vanilla JS میں، آپ اسے براہِ راست انجن پر engine.setLocale(...) کے ساتھ سیٹ کرتے ہیں۔

سیاق و سباق

کانٹیکسٹس وہ طریقہ ہیں جس سے 18ways متعلقہ کاپی کو گروپ کرتا ہے۔

انہیں ترجمے کی درخواستوں کو چھوٹا رکھنے اور غیر متعلقہ متن کو آپس میں ملانے سے بچنے کے لیے استعمال کریں۔

ts
import { create18waysEngine } from '@18ways/core/engine';
 
const engine = create18waysEngine({
  apiKey: 'pk_dummy_demo_token',
  baseLocale: 'en-GB',
  locale: 'fr-FR',
  context: 'marketing',
});
 
const heroTitle = await engine.t('Wrap your text. We handle the rest.', {
  context: 'marketing.hero',
});
 
const pricingTitle = await engine.t('Simple pricing', {
  context: 'marketing.pricing',
});

متعلقہ متن کو ایک ساتھ گروپ میں رکھنے کے لیے مستحکم کانٹیکسٹ نام استعمال کریں۔

قبول شدہ لوکیلز

18ways میں فرق کیا جاتا ہے:

  • ایک لوکیل جسے یہ پہچان سکے، جیسے fr-FR
  • ایک لوکیل جسے آپ کا پروجیکٹ واقعی قبول کرتا ہے

کور پیکیج میں، آپ عموماً منظور شدہ لوکیلز کی فہرست اپنی ایپ میں رکھتے ہیں اور engine.setLocale(...) کو کال کرنے سے پہلے اسے نارملائز کرتے ہیں۔

ts
const acceptedLocales = ['en-GB', 'fr-FR', 'de-DE'];
 
function setLocale(nextLocale: string) {
  const locale = acceptedLocales.includes(nextLocale) ? nextLocale : 'en-GB';
 
  engine.setLocale(locale);
}

استقامت

رنٹائم ایڈاپٹرز کے ذریعے استعمال ہونے والی لوکیل ترجیح کی کوکی 18ways_locale ہے۔

اگر آپ locale کو خود persist کرتے ہیں اور React یا Next layers کے ساتھ compatible رہنا چاہتے ہیں، تو وہی نام استعمال کریں۔

جب تراجم لوڈ ہوتے ہیں

@18ways/core آپ کو نچلی سطح کا انجن اور کیشنگ دیتا ہے، لیکن رینڈرنگ کا بہاؤ آپ کے اپنے کنٹرول میں ہوتا ہے۔

مشترکہ ذہنی ماڈل

ماڈل کو سادہ رکھیں:

  1. اپنی ایپ کے لیے درست پیکیج منتخب کریں۔
  2. بنیادی لوکیل درست طریقے سے سیٹ کریں۔
  3. کانٹیکسٹ کیز کو مستقل اور بامعنی رکھیں۔
  4. رَن ٹائم کو مکمل جملے ترجمہ کرنے دیں، نہ کہ ٹکڑے۔

اگلا: پیغام کی فارمیٹنگ

بنیادی تصورات