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

تاریخ انتشار: 13 نوامبر 2024، آخرین به روز رسانی: 20 می 2025

Browser Support

  • کروم: 138.
  • لبه: پشتیبانی نمی شود.
  • فایرفاکس: پشتیبانی نمی شود.
  • سافاری: پشتیبانی نمی شود.

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

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

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

شروع کنید

تشخیص ویژگی را اجرا کنید تا ببینید آیا مرورگر از Translator API پشتیبانی می کند یا خیر.

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

در حالی که همیشه زبان مقصد ترجمه را می دانید، ممکن است همیشه زبان مبدأ را ندانید. در چنین مواردی، می توانید از زبان شناساگر API استفاده کنید.

دانلود مدل

Translator API از یک مدل متخصص آموزش دیده برای تولید ترجمه با کیفیت بالا استفاده می کند. API در Chrome تعبیه شده است و اولین باری که یک وب سایت از این API استفاده می کند، مدل دانلود می شود.

برای تعیین اینکه آیا مدل آماده استفاده است، تابع Translator.availability() ناهمزمان را فراخوانی کنید. اگر پاسخ به availability() downloadable است، به پیشرفت دانلود گوش دهید تا کاربر را از پیشرفت آن مطلع کنید، زیرا ممکن است زمان بر باشد.

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

ترجمه با بسته‌های زبان مدیریت می‌شود که در صورت تقاضا دانلود می‌شوند. یک بسته زبان مانند یک فرهنگ لغت برای یک زبان خاص است.

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

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

const translatorCapabilities = await Translator.availability({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
});
// 'available'

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

const translator = await Translator.create({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
});

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

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

برای ایجاد یک مترجم، فعال شدن کاربر را بررسی کنید و تابع create() ناهمزمان را فراخوانی کنید. تابع create() Translator به یک پارامتر گزینه با دو فیلد نیاز دارد، یکی برای sourceLanguage و دیگری برای targetLanguage .

// Create a translator that translates from English to French.
const translator = await Translator.create({
  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 ?"

از طرف دیگر، اگر باید با متون طولانی‌تر سروکار داشته باشید، می‌توانید از نسخه پخش API نیز استفاده کنید و translateStreaming() فراخوانی کنید.

const stream = translator.translateStreaming(longText);
for await (const chunk of stream) {
  console.log(chunk);
}

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

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

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

نسخه ی نمایشی

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

خط مشی مجوز، iframes، و کارگران وب

به طور پیش‌فرض، Translator API فقط برای پنجره‌های سطح بالا و iframe‌های با منبع مشابه در دسترس است. دسترسی به API را می توان با استفاده از ویژگی Permissions Policy allow="" به iframe های متقاطع واگذار کرد:

<!--
  The host site https://main.example.com can grant a cross-origin iframe
  at https://cross-origin.example.com/ access to the Translator API by
  setting the `allow="translator"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="translator"></iframe>

به دلیل پیچیدگی ایجاد یک سند مسئول برای هر کارگر، به منظور بررسی وضعیت خط مشی مجوزها، API مترجم در Web Workers در دسترس نیست.

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

ما می خواهیم ببینیم شما چه چیزی می سازید. وب سایت ها و برنامه های کاربردی وب خود را با ما در X ، YouTube و LinkedIn به اشتراک بگذارید.

برای بازخورد در مورد اجرای Chrome، یک گزارش اشکال یا یک درخواست ویژگی ارسال کنید.