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

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

Browser Support

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

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

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

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

שנתחיל?

בדיקת דרישות החומרה

הדרישות הבאות חלות על מפתחים ועל משתמשים שמפעילים תכונות באמצעות ממשקי ה-API האלה ב-Chrome. בדפדפנים אחרים עשויות להיות דרישות הפעלה שונות.

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

Prompt API,‏ Summarizer API,‏ Writer API,‏ Rewriter API ו-Proofreader API פועלים ב-Chrome כשמתקיימים התנאים הבאים:

  • מערכת הפעלה: Windows 10 או 11;‏ macOS 13 ואילך (Ventura ואילך); Linux; או ChromeOS (מגרסה Platform 16389.0.0 ואילך) במכשירי Chromebook Plus. ‫Chrome ל-Android, ל-iOS ול-ChromeOS במכשירים שאינם Chromebook Plus עדיין לא נתמך על ידי ממשקי ה-API שמשתמשים ב-Gemini Nano.
  • אחסון: לפחות 22 GB של שטח פנוי בכרך שמכיל את פרופיל Chrome.
  • GPU או CPU: אפשר להפעיל מודלים מוטמעים באמצעות GPU או CPU.
    • מעבד גרפי (GPU): יותר מ-4 GB של VRAM.
    • יחידת עיבוד מרכזית (CPU): זיכרון RAM של 16GB או יותר ו-4 ליבות CPU או יותר.
    • הערה: כדי להשתמש ב-Prompt API עם קלט אודיו, צריך GPU.
  • רשת: חבילת גלישה ללא הגבלה או חיבור ללא הגבלה.

הגודל המדויק של Gemini Nano עשוי להשתנות כשהדפדפן מעדכן את המודל. כדי לראות את הגודל הנוכחי, אפשר לעבור אל chrome://on-device-internals.

אחרי שתעמדו בדרישות.

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

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 מפסיקים ואובייקט promise ready נדחה.

יצירה והרצה של הכלי לתרגום

כדי ליצור מתרגם, צריך לבדוק אם יש הפעלה של משתמש ולהפעיל את הפונקציה האסינכרונית create(). הפונקציה Translator‏ create() דורשת פרמטר של אפשרויות עם שני שדות, אחד ל-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, בגלל המורכבות של יצירת מסמך אחראי לכל worker, כדי לבדוק את הסטטוס של מדיניות ההרשאות.

שיתוף משוב

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

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