نویسه‌گردانی مرجع API

آوانویسی ساده

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

روش شرح

google.language.transliterate(wordsArray, srcLang, destLang, callback)

google.language.transliterate(wordsArray, srcLang, destLang, callback) یک روش جهانی است که متن داده شده را از زبان مبدأ به زبان مقصد ترجمه می‌کند. API نتیجه را به صورت ناهمزمان به تابع callback داده شده به عنوان شی result برمی گرداند. پارامترهای این روش عبارتند از:

  • wordsArray متنی را برای نویسه‌گردانی به صورت آرایه فراهم می‌کند.
  • srcLang زبان مبدأ را به عنوان کد زبان ارائه می کند. برای مثال به فهرست LanguageCode مراجعه کنید.
  • destLang زبان مقصد را به عنوان کد زبان ارائه می کند. برای مثال به فهرست LanguageCode مراجعه کنید.
  • callback تابعی است که result را دریافت می کند.

google.language.transliterate() هیچ مقدار بازگشتی ندارد.

این روش ساده‌شده برای نویسه‌گردانی از فضای نام google.language.transliterate (و نه google.elements.transliteration که فضای نام هر روش دیگری در Transliterate API است) استفاده می‌کند.

google.language.transliterate() شیء result را خروجی می دهد.

اشیاء نتیجه با استفاده از رمزگذاری JSON درخواست های سرور تولید می شوند. در نتیجه، ما تصمیم گرفته‌ایم که اشیاء رسمی جاوا اسکریپت را پیاده‌سازی نکنیم، و به‌جای آن، اشیاء result را به‌صورت پویا از شکل سریال‌شده‌شان ایجاد کنیم.

در حالی که هیچ پیاده سازی رسمی از اشیاء وجود ندارد، آنها وجود دارند، و ما آنها را به گونه ای مستند می کنیم که گویی یک اجرای جاوا اسکریپت پشتیبان وجود دارد. تأثیر همه اینها حداقل است. تمام معنی آن این است که سازنده نامی وجود ندارد. برای هر نتیجه، مثل این است که سیستم New Object() را فراخوانی می کند و سپس ویژگی های رسمی را روی آن شی تنظیم می کند. این خواص در زیر آمده است.

  • <نتیجه>
    • error?
      اگر در نویسه‌گردانی خطایی وجود داشت، ارائه دهید.
    • transliterations
      آرایه ای با اندازه برابر با اندازه ورودی wordsArray .
      • transliteratedWords
        آرایه‌ای با حداکثر اندازه 5، با نویسه‌گردانی برای کلمه مربوطه در wordsArray .

مرجع جاوا اسکریپت کنترل نویسه‌گردانی

سازنده و روش‌های زیر به شما اجازه می‌دهند تا نویسه‌گردانی را در یک UI ارائه‌شده توسط API انجام دهید.

سازنده - google.elements.transliteration.TransliterationControl(options)

سازنده شرح

google.elements.transliteration.
TransliterationControl(options)

.TransliterationControl(options) نویسه‌گردانی را روی مجموعه‌ای از عناصر HTML DOM قابل ویرایش فعال می‌کند و تعدادی روش را فراهم می‌کند که به شما امکان می‌دهد نویسه‌گردانی را در آن عناصر کنترل کنید. آرگومان options می تواند دارای فیلدهای زیر باشد:

  • sourceLanguage یک رشته اجباری است که زبان مبدأ را با استفاده از فهرست LanguageCode (مانند google.elements.transliteration. ENGLISH ) مشخص می کند. در حال حاضر، انگلیسی تنها زبان منبع پشتیبانی شده است.
  • destinationLanguage یک آرایه اجباری است که زبان مقصد را با استفاده از فهرست LanguageCode به صورت (مانند google.elements.transliteration. HINDI ) مشخص می کند.

    در رابط کاربری، زبان‌های مقصد موجود در منو ظاهر می‌شوند و زبان اول آرایه به‌طور پیش‌فرض انتخاب شده است. لطفاً برای جزئیات بیشتر در مورد زبان مقصد معتبر برای یک زبان مبدأ، به getDestinationLanguages ​​مراجعه کنید.
  • transliterationEnabled یک فیلد اختیاری است که مشخص می کند آیا نویسه نویسی به طور پیش فرض فعال شود یا خیر. اگر می‌خواهید نویسه‌گردانی را به‌طور پیش‌فرض فعال کنید، این فیلد را با مقدار true مشخص کنید. مقدار پیش فرض false است.
  • shortcutKey یک فیلد رشته اختیاری است که کلید میانبری را برای روشن یا خاموش کردن نویسه‌گردانی مشخص می‌کند. برای مشخص کردن کلید میانبر، یک رشته حاوی اصلاح کننده هایی مانند 'Ctrl'، 'Alt' یا 'Shift' به همراه یک حرف الفبایی را مشخص کنید. برای مثال، «Ctrl+g» و «Ctrl+Shift+a» هر دو ترکیب کلید میانبر معتبر هستند.

    توجه: شما نمی توانید از Shift به عنوان تنها اصلاح کننده استفاده کنید. با این حال، می توانید آن را در ترکیب با Alt یا Control استفاده کنید.

این روش در شرایط زیر استثناهایی ایجاد می کند:

  • sourceLanguage یا destinationLanguage نامعتبر است
  • زبان‌های پشتیبانی‌نشده destinationLanguage جفت زبان sourceLangauge و DestinationLanguage
  • ترکیب کلید میانبر نامعتبر است

قطعه کد زیر نحوه ایجاد یک نمونه از کنترل نویسه‌گردانی را نشان می‌دهد:

function onLoad() {
  var options = {
    sourceLanguage: 'en',
    destinationLanguage: ['hi'],
    shortcutKey: 'ctrl+g',
    transliterationEnabled: true
  };

  // Create an instance on TransliterationControl with the required
  // options.
  var control = new google.elements.transliteration.TransliterationControl(options);
}

روش‌های کنترل نویسه‌گردانی

روش‌های زیر در فضای نام google.elements.transliteration.TransliterationControl پیاده‌سازی می‌شوند.

روش شرح

.addEventListener(eventType, listener, opt_listenerScope)

.addEventListener(eventType, listener, opt_listenerScope) شنونده ای را برای نوع رویداد مشخص شده به کنترل نویسه گردانی اضافه می کند. هنگامی که نوع رویداد خاص راه اندازی می شود، شنونده با شی رویداد فراخوانی می شود. محتویات شی رویداد به نوع رویداد بستگی دارد. پارامترهای این روش عبارتند از:

  • eventType رویدادی است که شنونده قرار است به آن اضافه شود. این آرگومان مقدار خود را از eventType enum (مانند google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED) می گیرد.
  • listener یک تابع شنونده برای رویداد فراهم می کند.
  • opt_listenerScope شنونده را با this مجموعه به شی مشخص شده در opt_listenerScope می خواند.

.addEventListener() هیچ مقدار بازگشتی ندارد.

.disableTransliteration()

.disableTransliteration() نویسه‌گردانی را در کنترل نویسه‌گردانی غیرفعال می‌کند. این متد هیچ آرگومان و مقدار بازگشتی ندارد.

.enableTransliteration()

.enableTransliteration() نویسه‌گردانی را در کنترل نویسه‌گردانی فعال می‌کند. این متد هیچ آرگومان و مقدار بازگشتی ندارد.

.isTransliterationEnabled()

.isTransliterationEnabled() هیچ آرگومان ندارد و یک بولی برمی‌گرداند که نشان می‌دهد آیا نویسه‌گردانی در کنترل نویسه‌گردانی فعال است یا خیر.

.makeTransliteratable(elementIds, opt_options)

.makeTransliteratable(elementIds, opt_options) نویسه‌گردانی را در عنصر(های) HTML ارائه شده فعال می‌کند. پارامترهای این روش عبارتند از:

  • elementIds آرایه‌ای است که شامل رشته‌هایی از شناسه‌های عنصر قابل ویرایش یا ارجاعات عنصری است که می‌خواهید نویسه‌گردانی را برای آنها فعال کنید. یک عنصر قابل ویرایش می تواند:

    • یک فیلد متنی
    • یک ناحیه متنی
    • یک <div> با contentEditable="true"
    • یک <iframe> با designMode="on"
    • یک iFrame با بدنه contentEditable="true" . قبل از فعال کردن نویسه‌گردانی، مطمئن شوید که iFrame بارگیری شده است.
  • opt_options یک آرگومان اختیاری است که گزینه های اعمال شده برای این عناصر را فراهم می کند. این آرگومان می تواند شامل فیلدهای زیر باشد:
    • adjustElementStyle یک فیلد بولی اختیاری است که کنترل می کند آیا API به طور خودکار اندازه عنصر و فونت را برای مطابقت بهینه کاراکترهای زبان مقصد تنظیم می کند یا خیر. مقدار پیش فرض true است. این گزینه فقط بر عناصر متن ساده تأثیر می گذارد.
    • adjustElementDirection یک فیلد بولی اختیاری است که جهت عنصر قابل ویرایش را بسته به جهت destinationLanguage زبان کنترل می کند. مقدار پیش فرض true است.

برای سیستم های نوشتاری راست به چپ مانند عربی، API به طور خودکار جهت عنصر ورودی را با توجه به جهت اسکریپت نوشته شده و محتوای عنصر ورودی تنظیم می کند. می توانید جهت متن را در یک عنصر ورودی با استفاده از HTML و جاوا اسکریپت با direction تنظیم کنید، که می تواند دارای مقدار 'ltr' (از چپ به راست) یا 'rtl' (راست به چپ) باشد. استفاده از این روش بر مکان نما و تراز متن در ناحیه ورودی تأثیر می گذارد.

می‌توانید نمونه‌ای از پشتیبانی API از زبان‌های راست به چپ را در مثال نویسه‌گردانی عربی ببینید.

اگر هر یک از شناسه های elementIds مشخص شده نامعتبر باشد، این روش استثناهایی ایجاد می کند.

.makeTransliteratable() هیچ مقدار بازگشتی ندارد.

.removeEventListener(eventType, listener, opt_listenerScope)

.removeEventListener(eventType, listener, opt_listenerScope) شنونده رویداد را از کنترل نویسه‌گردانی حذف می‌کند، جایی که:

  • این آرگومان مقدار خود را از eventType enum (مانند google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED) می گیرد.
  • listener تابعی برای رویدادی است که باید حذف شود.
  • opt_listenerScope محدوده ای است که شنونده در زمان اضافه کردن شنونده در آن ثبت شده است.

.removeEventListener() هیچ مقدار بازگشتی ندارد.

.setLanguagePair(sourceLanguage, destinationLanguage)

.setLanguagePair(sourceLanguage, destinationLanguage) به شما امکان می‌دهد به صورت پویا جفت زبان مورد استفاده توسط کنترل نویسه‌گردانی را تغییر دهید، در جایی که:

  • sourceLanguage نوع زبانی را برای نویسه‌گردانی ارائه می‌کند. این آرگومان مقدار خود را از فهرست LanguageCode (مانند google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH) می گیرد.
  • DestinationLanguage نوع زبان متن نویسه‌گردانی شده را ارائه می‌کند.

.setLanguagePair() setLanguage

.showControl(divElement)

.showControl(divElement) کنترل نویسه‌گردانی را در DIV مشخص شده نشان می‌دهد، جایی که divElement شناسه DIV است. این روش هیچ مقدار بازگشتی ندارد.

.toggleTransliteration()

.toggleTransliteration() نویسه‌گردانی را در کنترل نویسه‌گردانی روشن یا خاموش می‌کند. این متد هیچ آرگومان و مقدار بازگشتی ندارد.

روش استاتیک

روش استاتیک زیر در فضای نام google.language پیاده سازی شده است.

روش استاتیک شرح

.setOnLoadCallback(callback)

.setOnLoadCallback(callback) یک تابع ثابت است که تابع کنترل کننده مشخص شده را ثبت می کند تا پس از بارگیری صفحه حاوی این تماس، فراخوانی شود، که در آن callback یک تابع ضروری است که زمانی که سند حاوی بارگیری می شود و API آماده استفاده است، فراخوانی می شود (به عنوان مثال، پس از onLoad ). این تابع در فضای نام google (یعنی google.setOnLoadCallback(callback); )

.setOnLoadCallback() هیچ مقدار بازگشتی ندارد.

توجه: مستندات قبلی توصیه می‌کردند که از ویژگی onload عنصر body ( <body onload="OnLoad()"> ) استفاده کنید. در حالی که وقتی کنترل کامل صفحه و همه کدهای بارگذاری شده توسط صفحه را در اختیار دارید، این روش خوبی است، اما این روش می‌تواند در برخی از زمان‌های اجرا مشکلاتی ایجاد کند که handler body.onload شما را از بین می‌برد. setOnLoadCallback() این مشکلات را ندارد و بنابراین روش توصیه شده برای ثبت یک تماس است که کد شما را زمانی که API به طور کامل بارگیری شده و آماده استفاده است فراخوانی می کند.

روش استاتیک زیر در فضای نام google.elements.transliteration پیاده سازی شده است.

روش استاتیک شرح

.getDestinationLanguages(sourceLanguage)

.getDestinationLanguages(sourceLanguage) sourceLanguage روش جهانی است که نقشه زبان‌های مقصد را برمی‌گرداند که نویسه‌گردانی برای منبع زبان مورد نظر پشتیبانی می‌شود. نقشه برگردانده شده حاوی زبان های مقصد پشتیبانی شده است که کلید آن نام زبان و مقدار آن کد زبان است. نقشه برگردانده شده مشابه نقشه ای است که در فهرست LanguageCode توضیح داده شده است.

Enums

Enum نوع رویداد

شمارش google.elements.transliteration.TransliterationControl.EventType رویدادهایی را که در حین نویسه‌گردانی ممکن است فهرست می‌کند. شما می توانید کنترل کننده های سفارشی برای این رویدادها در کد خود ارائه دهید.

var google.elements.transliteration.TransliterationControl.EventType = {
   STATE_CHANGED : 'state_changed',
   LANGUAGE_CHANGED : 'language_changed',
   SERVER_REACHABLE : 'server_reachable',
   SERVER_UNREACHABLE : 'server_unreachable'
};
  • google.elements.transliteration.TransliterationControl.EventType.STATE_CHANGED : زمانی که نویسه‌گردانی در کنترل نویسه‌گردانی فعال یا غیرفعال شده باشد، از طریق:
    • یک کلید میانبر
    • enableTransliteration ، disableTransliteration یا toggleTransliteration
    • یک کلیک ماوس بر روی کنترل نویسه‌گردانی که با روش showControl کشیده شده است.
    شی رویداد ارسال شده به شنونده حاوی فیلد transliterationEnabled است. اگر نویسه‌گردانی « on » باشد، این فیلد درست است، در غیر این صورت نادرست است.
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED : هنگامی که جفت زبان نویسه‌گردانی در کنترل نویسه‌گردانی از طریق تغییر می‌کند، نتیجه می‌شود:
    • متد setLanguagePair
    • کنترل نویسه‌گردانی که با روش showControl ترسیم شده است
    شی رویداد ارسال شده به شنونده حاوی فیلدهای sourceLanguage و DestinationLanguage destinationLanguage .
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE : هنگامی که با موفقیت برای نویسه گردانی متن با سرور تماس می گیرید، نتیجه می گیرد.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE پس از تلاش ناموفق برای تماس با سرور برای نویسه‌گردانی متن نتیجه می‌دهد.

فهرست کد زبان

google.elements.transliteration.LanguageCode نام ثابت‌هایی را به کدهای زبان نشان می‌دهد که می‌توانید از آنها برای تعیین زبان مبدا و مقصد در روش‌های نویسه‌گردانی استفاده کنید.

var google.elements.transliteration.LanguageCode = {
    ENGLISH: 'en',
    AMHARIC: 'am',
    ARABIC: 'ar',
    BENGALI: 'bn',
    CHINESE: 'zh',
    GREEK: 'el',
    GUJARATI: 'gu',
    HINDI: 'hi',
    KANNADA: 'kn',
    MALAYALAM: 'ml',
    MARATHI: 'mr',
    NEPALI: 'ne',
    ORIYA: 'or',
    PERSIAN: 'fa',
    PUNJABI: 'pa',
    RUSSIAN: 'ru',
    SANSKRIT: 'sa',
    SINHALESE: 'si',
    SERBIAN: 'sr',
    TAMIL: 'ta',
    TELUGU: 'te',
    TIGRINYA: 'ti',
    URDU: 'ur'
};

فهرست پشتیبانی شده DestinationLanguages

شمارش google.elements.transliteration.SupportedDestinationLanguages ​​ثابت‌های نام آرایه‌های کدهای زبان را نشان می‌دهد که می‌توانید از آنها برای تعیین گروه‌های زبان مقصد در کنترل نویسه‌گردانی استفاده کنید.

var google.elements.transliteration.SupportedDestinationLanguages = {
    // ALL includes all languages supported in the Transliterate API.
    // As support for more languages becomes available, this enum will be
    // automatically updated to include the new languages transparently.
    ALL: [
        google.elements.transliteration.LanguageCode.AMHARIC,
        google.elements.transliteration.LanguageCode.ARABIC,
        google.elements.transliteration.LanguageCode.BENGALI,
        google.elements.transliteration.LanguageCode.CHINESE,
        google.elements.transliteration.LanguageCode.GREEK,
        google.elements.transliteration.LanguageCode.GUJARATI,
        google.elements.transliteration.LanguageCode.HINDI,
        google.elements.transliteration.LanguageCode.KANNADA,
        google.elements.transliteration.LanguageCode.MALAYALAM,
        google.elements.transliteration.LanguageCode.MARATHI,
        google.elements.transliteration.LanguageCode.NEPALI,
        google.elements.transliteration.LanguageCode.ORIYA,
        google.elements.transliteration.LanguageCode.PERSIAN,
        google.elements.transliteration.LanguageCode.PUNJABI,
        google.elements.transliteration.LanguageCode.RUSSIAN,
        google.elements.transliteration.LanguageCode.SANSKRIT,
        google.elements.transliteration.LanguageCode.SERBIAN,
        google.elements.transliteration.LanguageCode.SINHALESE,
        google.elements.transliteration.LanguageCode.TAMIL,
        google.elements.transliteration.LanguageCode.TELUGU,
        google.elements.transliteration.LanguageCode.TIGRINYA,
        google.elements.transliteration.LanguageCode.URDU],
 
    // INDIC includes all Indic languages supported in the Transliterate API.
    // As support for more Indic languages becomes available, this enum will be
    // automatically updated to include the new languages transparently.
    INDIC: [
        google.elements.transliteration.LanguageCode.BENGALI,
        google.elements.transliteration.LanguageCode.GUJARATI,
        google.elements.transliteration.LanguageCode.HINDI,
        google.elements.transliteration.LanguageCode.KANNADA,
        google.elements.transliteration.LanguageCode.MALAYALAM,
        google.elements.transliteration.LanguageCode.MARATHI,
        google.elements.transliteration.LanguageCode.NEPALI,
        google.elements.transliteration.LanguageCode.ORIYA,
        google.elements.transliteration.LanguageCode.PUNJABI,
        google.elements.transliteration.LanguageCode.SANSKRIT,
        google.elements.transliteration.LanguageCode.SINHALESE,
        google.elements.transliteration.LanguageCode.TAMIL,
        google.elements.transliteration.LanguageCode.TELUGU,
        google.elements.transliteration.LanguageCode.URDU]
};

عیب یابی

اگر با مشکلاتی مواجه شدید:

  • به دنبال اشتباهات تایپی باشید به یاد داشته باشید که جاوا اسکریپت یک زبان حساس به حروف بزرگ و کوچک است.
  • از یک دیباگر جاوا اسکریپت استفاده کنید. Google Chrome مجموعه کاملی از ابزارهای توسعه دهنده دارد. در فایرفاکس، می توانید از کنسول جاوا اسکریپت یا Firebug استفاده کنید. در اینترنت اکسپلورر، می توانید از Microsoft Script Debugger استفاده کنید.
  • گروه بحث را جستجو کنید. اگر نمی توانید پستی را پیدا کنید که به سؤال شما پاسخ دهد، سؤال خود را به همراه پیوندی به یک صفحه وب که مشکل را نشان می دهد به گروه ارسال کنید.