תרגום באמצעות AI מובנה

פורסם: 13 בנובמבר 2024, עדכון אחרון: 20 במאי 2025

Browser Support

  • Chrome: 138.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: not supported.

Source

אתם יכולים להשתמש ב-Translator API ב-Chrome כדי לתרגם טקסט באמצעות מודלים של AI שזמינים בדפדפן.

יכול להיות שהתוכן באתר שלכם כבר מוצע בכמה שפות. באמצעות Translator API, המשתמשים יכולים לכתוב בשפת האם שלהם. לדוגמה, משתמשים יכולים להשתתף בצ'אטים עם נציגי תמיכה בשפת האם שלהם, והאתר יכול לתרגם את ההודעה שלהם לשפת האם של נציגי התמיכה, לפני שההודעה יוצאת מהמכשיר של המשתמש. כך נוצר חוויה חלקה, מהירה ומכילה לכל המשתמשים.

כדי לתרגם תוכן אינטרנט, בדרך כלל צריך להשתמש בשירות ענן. קודם מעלים את תוכן המקור לשרת, שמריץ את התרגום לשפת היעד, ואז מורידים את הטקסט שמתקבל ומחזירים אותו למשתמש. אם התוכן הוא זמני ולא מצדיק שמירה במסד נתונים, תרגום בצד הלקוח חוסך זמן וכסף בהשוואה לשירות תרגום באירוח.

שנתחיל?

Language Detector ו-Translator APIs פועלים ב-Chrome במחשב. ממשקי ה-API האלה לא פועלים במכשירים ניידים.

מריצים זיהוי תכונות כדי לראות אם הדפדפן תומך ב-Translator API.

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

תמיד יודעים מה שפת היעד של התרגומים, אבל לא תמיד יודעים מה שפת המקור. במקרים כאלה, אפשר להשתמש ב-Language Detector 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(). הפונקציה Translator create() דורשת פרמטר options עם שני שדות, אחד ל-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);
}

תרגומים עוקבים

התרגומים מעובדים ברצף. אם שולחים כמויות גדולות של טקסט לתרגום, התרגומים הבאים נחסמים עד שהתרגומים הקודמים מסתיימים.

כדי לקבל את התשובה הטובה ביותר לבקשות שלכם, כדאי לקבץ אותן ולהוסיף ממשק טעינה, כמו סמל טעינה, כדי להראות שהתרגום מתבצע.

שפות נתמכות

השפות הבאות נתמכות בהטמעה של Translator API ב-Chrome.

קוד שפה
ar ערבית
bg בולגרית
bn בנגלית
cs צ'כית
da דנית
de גרמנית
el יוונית
en אנגלית
es ספרדית
fi פינית
fr צרפתית
hi הינדי
hr קרואטית
hu הונגרית
id אינדונזית
it איטלקית
iw עברית
ja יפנית
kn קנאדה
ko קוריאנית
lt ליטאית
mr מראטהית
nl הולנדית
no נורווגית
pl פולנית
pt פורטוגזית
ro רומנית
ru רוסית
sk סלובקית
sl סלובנית
sv שוודית
ta טמילית
te טלוגו
th תאית
tr טורקית
uk אוקראינית
vi וייטנאמית
zh סינית
zh-Hant סינית (מסורתית)

הדגמה (דמו)

אפשר לראות את Translator API, שמשמש בשילוב עם Language Detector API, בסביבת הבדיקה של Translator API ו-Language Detector API.

מדיניות הרשאות, מסגרות iframe ו-Web Workers

כברירת מחדל, Translator API זמין רק לחלונות ברמה העליונה ול-iframes מאותו מקור. אפשר להעניק גישה ל-API ל-iframes ממקורות שונים באמצעות המאפיין Permissions Policy allow="":

<!--
  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>

‫Translator API לא זמין ב-Web Workers, בגלל המורכבות של יצירת מסמך אחראי לכל עובד, כדי לבדוק את הסטטוס של מדיניות ההרשאות.

שיתוף משוב

נשמח לראות מה אתם יוצרים. אתם מוזמנים לשתף איתנו את האתרים ואת אפליקציות האינטרנט שלכם ב-X, ב-YouTube וב-LinkedIn.

כדי לשלוח משוב על ההטמעה של Chrome, אפשר להגיש דוח באגים או בקשה להוספת תכונה.