پرش به مطلب اصلی

توابع کمکی بین‌المللی‌سازی (international.ts)

توابع کمکی مربوط به ترجمه و پشتیبانی چندزبانه.

translate

ترجمه متن بر اساس کلید و پارامترها.

async function translate(
appName: string,
key: string,
params: object = {},
locale: LocaleName = "en",
keySplitter = "."
): Promise<string>

پارامترها:

  • appName: نام برنامه
  • key: کلید ترجمه (مثال: "main.welcome")
  • params: پارامترهای جایگزین در متن
  • locale: کد زبان
  • keySplitter: جداکننده کلیدها

بازگشتی: متن ترجمه شده

مثال:

const message = await translate('myapp', 'user.welcome', { name: 'علی' }, 'fa');
// نتیجه: "خوش آمدید علی"

convertTextToLocaleKey

تبدیل متن به کلید locale.

function convertTextToLocaleKey(text: string, prefix?: string): string

پارامترها:

  • text: متن ورودی
  • prefix: پیشوند کلید

بازگشتی: کلید locale

مثال:

const key = convertTextToLocaleKey("Hello World", "msg");
// نتیجه: "msg.hello_world"

collectAppLanguages

جمع‌آوری زبان‌های پشتیبانی شده برنامه.

async function collectAppLanguages(appName: string): Promise<(LanguageInfo & { isDefault?: boolean })[]>

پارامترها:

  • appName: نام برنامه

بازگشتی: آرایه‌ای از اطلاعات زبان‌ها