ترجمه با هوش مصنوعی داخلی

تاریخ انتشار: 13 نوامبر 2024

از Translator API در کروم برای ترجمه متن در مرورگر با استفاده از مدل‌های هوش مصنوعی محلی استفاده کنید.

وب سایت شما ممکن است از قبل محتوای وب سایت را به چندین زبان ارائه دهد تا برای مخاطبان جهانی قابل دسترسی باشد. با استفاده از Translator API، کاربران می توانند به زبان اول خود مشارکت کنند. برای مثال، کاربران می‌توانند در چت‌های پشتیبانی به زبان اول خود شرکت کنند و سایت شما می‌تواند قبل از خروج از دستگاه کاربر، آن را به زبانی که نمایندگان پشتیبانی شما استفاده می‌کنند ترجمه کند. این یک تجربه روان، سریع و فراگیر برای همه کاربران ایجاد می کند.

ترجمه محتوا در وب معمولاً نیاز به استفاده از سرویس ابری دارد. ابتدا محتوای مبدأ روی سرور آپلود می‌شود که ترجمه را به زبان مقصد اجرا می‌کند، سپس متن به دست آمده دانلود شده و به کاربر بازگردانده می‌شود. با اجرای ترجمه بر روی مشتری، در زمان مورد نیاز سفرهای سرور و هزینه میزبانی سرویس ترجمه صرفه جویی می کنید.

در دسترس بودن

در حالی که زبان مقصد انتخاب شده همیشه شناخته شده است، در برخی شرایط ممکن است زبان مبدأ ناشناخته باشد، به عنوان مثال، با محتوای تولید شده توسط کاربر. در چنین مواردی، پیشنهاد API مترجم شامل هر دو API مترجم و API آشکارساز زبان است که در یک آزمایش اولیه نیز موجود است. برای استفاده از این APIها با هم در هر دو آزمایش اولیه ثبت نام کنید.

برای آزمایش اولیه ثبت نام کنید

برای شروع استفاده از Translator API، مراحل زیر را دنبال کنید:

  1. خط‌مشی استفاده‌های ممنوعه هوش مصنوعی Google را بپذیرید.
  2. به نسخه آزمایشی اولیه Translator API بروید.
  3. روی ثبت نام کلیک کنید و فرم را پر کنید.
    • در فیلد مبدا وب ، شناسه مبدا یا افزونه خود، chrome-extension://YOUR_EXTENSION_ID ارائه دهید.
  4. برای ارسال، روی ثبت کلیک کنید.
  5. رمز ارائه شده را کپی کنید و آن را به هر صفحه وب در مبدا یا فایل افزونه خود اضافه کنید، که می خواهید آزمایشی روی آن فعال شود.
  6. شروع به استفاده از Translator API کنید.

درباره نحوه شروع آزمایشات مبدأ بیشتر بیاموزید.

پشتیبانی را به لوکال هاست اضافه کنید

برای دسترسی به API مترجم در localhost در طول دوره آزمایشی اصلی، باید Chrome را به آخرین نسخه به‌روزرسانی کنید . سپس، این مراحل را دنبال کنید:

  1. Chrome را در یکی از این پلتفرم‌ها باز کنید: Windows، Mac، یا Linux.
  2. به chrome://flags/#translation-api بروید.
  3. Enabled را انتخاب کنید.
    • اگر می‌خواهید چندین جفت زبان را امتحان کنید، Enabled without language pack را انتخاب کنید.
  4. روی راه اندازی مجدد یا راه اندازی مجدد کروم کلیک کنید.

از Translator API استفاده کنید

برای تعیین اینکه آیا Translator API پشتیبانی می‌شود، قطعه شناسایی ویژگی زیر را اجرا کنید.

if ('translation' in self && 'createTranslator' in self.translation) {
  // The Translator API is supported.
}

پشتیبانی از جفت زبان را بررسی کنید

ترجمه با بسته‌های زبان مدیریت می‌شود که در صورت تقاضا دانلود می‌شوند. یک بسته زبان مانند یک فرهنگ لغت برای یک زبان خاص است. این بسته‌ها با تابع canTranslate() ناهمزمان جفت می‌شوند، که به شما امکان می‌دهد تشخیص دهید که آیا یک جفت زبان پشتیبانی می‌شود یا خیر.

تابع canTranslate() به یک پارامتر options با دو فیلد نیاز دارد:

  • sourceLanguage : زبان فعلی متن.
  • targetLanguage : زبان نهایی که متن باید به آن ترجمه شود.

از کدهای کوتاه زبان BCP 47 به عنوان رشته استفاده کنید. به عنوان مثال، 'es' برای اسپانیایی یا 'fr' برای فرانسوی.

await translation.canTranslate({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});
// 'readily'

تابع canTranslate() می تواند هر یک از نتایج زیر را برگرداند:

  • no : این مرورگر نمی‌تواند آنطور که خواسته شده است ترجمه کند.
  • readily : مرورگر می تواند به صورت درخواستی ترجمه کند.
  • after-download : مرورگر می تواند ترجمه را انجام دهد، اما تنها پس از دانلود مدل یا بسته های زبان مربوطه.

می توانید با استفاده از رویداد downloadprogress به پیشرفت دانلود گوش دهید:

translator.ondownloadprogress = progressEvent => {
  updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};

اگر دانلود ناموفق باشد، رویدادهای downloadprogress متوقف می‌شوند و وعده ready رد می‌شود.

مترجم را ایجاد و اجرا کنید

برای ایجاد یک مترجم، تابع translation.createTranslator() ناهمزمان را فراخوانی کنید. مانند canTranslate() ، به یک پارامتر گزینه با دو فیلد نیاز دارد، یکی برای sourceLanguage و دیگری برای targetLanguage .

// Create a translator that translates from English to French.
const translator = await self.translation.createTranslator({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});

هنگامی که یک مترجم دارید، تابع translate() ناهمزمان را برای ترجمه متن خود فراخوانی کنید.

await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"

محدودیت در آزمایش مبدا

محدودیت های زیر در طول آزمایش مبدا اعمال می شود.

جفت زبان های پشتیبانی شده

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

این امکان وجود دارد که از جفت‌های زبانی که کمتر استفاده می‌شوند برای اثر انگشت استفاده شوند. به عنوان مثال، ترجمه بین انگلیسی و اسپانیایی بیشتر از زبان های کمتر رایج مانند گالیک و کاتالانی رایج است. یک جفت زبان کمتر رایج را می توان نقطه داده برای شناسایی کاربر در نظر گرفت.

در طول آزمایش اولیه، جفت‌های زبان قابل ترجمه بالقوه را برای محافظت از حریم خصوصی کاربر محدود می‌کنیم. جفت زبان ها باید معیارهای زیر را داشته باشند:

  • هم زبان مبدأ و هم زبان مقصد به عنوان زبان‌های برگزیده در کروم تنظیم شده‌اند.
  • یا یکی از زبان‌های او به‌عنوان زبان برگزیده در کروم تنظیم شده است و دیگری در میان زبان‌های محبوب زیر است:
    • انگلیسی ( en )
    • ماندارین چینی ( zh ؛ ساده شده) یا ماندارین تایوانی ( zh-Hant ؛ سنتی)
    • ژاپنی ( ja )
    • پرتغالی ( pt )
    • روسی ( ru )
    • اسپانیایی ( es )
    • ترکی ( tr )
    • هندی ( hi )
    • ویتنامی ( vi )
    • بنگالی ( bn )

دور زدن محدودیت های زبان برای تست محلی

برای نمونه‌سازی محلی، می‌توانید با اجرای Chrome با گزینه خط فرمان --disable-features=TranslationAPIAcceptLanguagesCheck از این بررسی‌ها دور بزنید. از طرف دیگر، chrome://flags/#translation-api روی Enable بدون محدودیت بسته زبان تنظیم کنید.

برای نصب و حذف دستی بسته‌های زبان، به chrome://on-device-translation-internals/ مراجعه کنید.

ترجمه های متوالی

ترجمه ها به صورت متوالی پردازش می شوند. اگر حجم زیادی از متن را برای ترجمه ارسال کنید، ترجمه های بعدی تا زمانی که ترجمه های قبلی کامل شوند مسدود می شوند.

برای پاسخگویی بهتر به درخواست‌های ترجمه، آن‌ها را با هم جمع کنید و یک رابط بارگذاری مانند اسپینر را نمایش دهید تا نشان دهید ترجمه در حال انجام است.

در دسترس بودن کارمند وب

در طول آزمایش اولیه، API مترجم فقط از رشته اصلی پشتیبانی می‌شود. زمانی که API به طور گسترده در دسترس قرار گرفت، قصد داریم از آن در وب کارگران پشتیبانی کنیم.

نسخه ی نمایشی

می‌توانید API مترجم را که در ترکیب با API آشکارساز زبان استفاده می‌شود، در زمین بازی مترجم و زبان‌شناس API مشاهده کنید.

تلاش برای استانداردسازی

ما در حال کار برای استانداردسازی API مترجم هستیم تا از سازگاری بین مرورگرها اطمینان حاصل کنیم.

پیشنهاد API ما پشتیبانی جامعه را دریافت کرد و برای بحث بیشتر به گروه انجمن انکوباتور وب W3C منتقل شد. تیم کروم از گروه معماری فنی W3C بازخورد درخواست کرد و از موزیلا و WebKit برای موقعیت‌های استانداردشان درخواست کرد.

شرکت کنید و بازخورد خود را به اشتراک بگذارید

اکنون با پیوستن به نسخه آزمایشی اولیه، آزمایش API مترجم را شروع کنید و بازخورد خود را به اشتراک بگذارید. ورودی شما می‌تواند مستقیماً بر نحوه ساخت و اجرای نسخه‌های آینده این API و همه APIهای AI داخلی تأثیر بگذارد.