תאריך פרסום: 13 בנובמבר 2024
שימוש ב-Translator API ב-Chrome כדי לתרגם טקסט בדפדפן באמצעות מודלים מקומיים של AI.
יכול להיות שכבר יש באתר שלכם תוכן בכמה שפות, כדי שהוא יהיה נגיש לקהל גלובלי. באמצעות Translator API, המשתמשים יכולים לתרום בשפה הראשונה שלהם. לדוגמה, משתמשים יכולים להשתתף בצ'אטים של תמיכה בשפה הראשונה שלהם, והאתר יכול לתרגם את הצ'אט לשפה שבה נציגי התמיכה משתמשים, לפני שהוא יוצא מהמכשיר של המשתמש. כך נוצרת חוויה חלקה, מהירה וכוללת לכל המשתמשים.
בדרך כלל, כדי לתרגם תוכן באינטרנט צריך להשתמש בשירות בענן. קודם תוכן המקור מועלה לשרת, שבו מתבצע התרגום לשפת היעד. לאחר מכן הטקסט שנוצר מורידים ומחזירים למשתמש. כשמריצים את התרגום בצד הלקוח, חוסכים את הזמן שנדרש לנסיעות לשרת ואת עלות אירוח שירות התרגום.
זמינות
- להצטרף לגרסת המקור לניסיון של Translator API, שפועלת ב-Chrome בגרסאות 131 עד 137. ניסויים במקור מאפשרים להפעיל את התכונה לכל המשתמשים במקור ב-Chrome.
- אפשר לעקוב אחרי ההטמעה שלנו ב-ChromeStatus.
- הצעה ל-Translator API פתוחה לדיון.
- הצטרפו לתוכנית הגישה המוקדמת כדי לקבל הצצה מוקדמת לממשקי API מובנים חדשים של AI ולגשת לדיון ברשימת התפוצה שלנו.
תמיד ידועה שפת היעד שנבחרה, אבל בשלבים מסוימים שפת המקור עשויה להיות לא ידועה, למשל בתוכן שנוצר על ידי משתמשים. במקרים כאלה, ההצעה ל-Translator API כוללת גם את Translator API וגם את Language Detector API, שזמין גם בגרסת מקור לניסיון. כדי להשתמש בשני ממשקי ה-API האלה יחד, צריך להירשם לשתי תקופות הניסיון למקורות.
הרשמה לתקופת הניסיון של גרסת המקור
כדי להתחיל להשתמש ב-Translator API:
- מאשרים את המדיניות של Google בנושא שימוש אסור ב-AI גנרטיבי.
- עוברים אל גרסת המקור לניסיון של Translator API.
- לוחצים על Register וממלאים את הטופס.
- בשדה Web origin, מזינים את המקור או את מזהה התוסף,
chrome-extension://YOUR_EXTENSION_ID
.
- בשדה Web origin, מזינים את המקור או את מזהה התוסף,
- לוחצים על Register.
- מעתיקים את האסימון שסופק ומוסיפים אותו לכל דף אינטרנט במקור או בקובץ של התוסף שבו רוצים להפעיל את תקופת הניסיון.
- אם אתם מפתחים תוסף, עליכם לפעול לפי ההוראות לניסיון של מקור תוסף.
- מתחילים להשתמש ב-Translator API.
איך מתחילים להשתמש בגרסת המקור לניסיון
הוספת תמיכה ב-localhost
כדי לגשת ל-Translator API ב-localhost
במהלך תקופת הניסיון בגרסת המקור, צריך לעדכן את Chrome לגרסה האחרונה. לאחר מכן, בצע פעולות אלה:
- פותחים את Chrome באחת מהפלטפורמות הבאות: Windows, Mac או Linux.
- לעבור אל
chrome://flags/#translation-api
. - בוחרים באפשרות מופעל.
- אם רוצים לנסות הרבה שילובי שפות, בוחרים באפשרות מופעל ללא הגבלה על חבילות שפה.
- לוחצים על הפעלה מחדש או מפעילים מחדש את Chrome.
שימוש ב-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()
, צריך להשתמש בפרמטר options עם שני שדות, אחד ל-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()
.
יכול להיות שזוגות שפות מסוימים שבהם משתמשים בתדירות נמוכה יותר ישמשו ליצירת טביעת אצבע. לדוגמה, קל יותר למצוא תרגומים בין אנגלית לספרדית מאשר בין שפות פחות נפוצות, כמו גאלית וקטלנית. שילוב שפות פחות נפוץ יכול להיחשב כנקודת נתונים לזיהוי משתמשים.
במהלך תקופת הניסיון במקור, אנחנו מגבילים את זוגות השפות האפשריים לתרגום כדי להגן על פרטיות המשתמשים. זוגות השפות צריכים לעמוד בקריטריונים הבאים:
- גם שפת המקור וגם שפת היעד מוגדרות כשפות מועדפות ב-Chrome.
- לחלופין, אחת מהשפות מוגדרת כשפה מועדפת ב-Chrome, והשפה השנייה היא אחת מהשפות הפופולריות הבאות:
- אנגלית (
en
) - סינית מנדרינית (
zh
; פשוטה) או מנדרינית טייוואנית (zh-Hant
; מסורתית) - יפנית (
ja
) - פורטוגזית (
pt
) - רוסית (
ru
) - ספרדית (
es
) - טורקית (
tr
) - הינדי (
hi
) - וייטנאמית (
vi
) - בנגלית (
bn
)
- אנגלית (
עקיפת הגבלות שפה לבדיקה מקומית
כדי ליצור אב טיפוס מקומי, אפשר לעקוף את הבדיקות האלה על ידי הפעלת Chrome עם האפשרות --disable-features=TranslationAPIAcceptLanguagesCheck
בשורת הפקודה.
לחלופין, אפשר להגדיר את chrome://flags/#translation-api
לערך Enable without language pack limit.
אפשר להיכנס לאתר chrome://on-device-translation-internals/
כדי להתקין ולבטל את ההתקנה של חבילות שפה באופן ידני.
תרגומים ברצף
התרגומים עוברים עיבוד ברצף. אם שולחים כמויות גדולות של טקסט לתרגום, התרגומים הבאים יחסמו עד שהתרגומים הקודמים יסתיימו.
כדי לקבל את התגובה המהירה ביותר לבקשות התרגום, כדאי לקבץ אותן יחד ולהציג ממשק טעינה, כמו גלגל מסתובב, כדי להעביר את המסר שהתרגום מתבצע.
זמינות של Web worker
במהלך תקופת הניסיון במקור, יש תמיכה ב-Translator API רק מהשרשור הראשי. אנחנו מתכוונים לתמוך בו ב-Web Workers ברגע שה-API יהיה זמין לשימוש נרחב.
הדגמה (דמו)
אפשר לראות את Translator API, שמשמש בשילוב עם Language Detector API, באזור הניסוי של Translator ו-Language Detector API.
מאמץ סטנדרטיזציה
אנחנו עובדים על סטנדרטיזציה של Translator API כדי להבטיח תאימות לדפדפנים שונים.
הצעת ה-API שלנו קיבלה תמיכה מהקהילה והועברה לקבוצת הקהילה של W3C Web Incubator להמשך דיון. צוות Chrome ביקש משוב מקבוצת הארכיטקטורה הטכנית של W3C, וביקש מ-Mozilla ומ-WebKit את עמדותיהם בנושא התקנים.
השתתפות ושיתוף משוב
אתם יכולים להצטרף לתקופת הניסיון המקורית ולשלוח לנו משוב על הבדיקה. המשוב שלכם יכול להשפיע ישירות על האופן שבו אנחנו מפתחים ומטמיעים גרסאות עתידיות של ה-API הזה, ושל כל ממשקי ה-API המובנים של AI.
- כדי לשלוח משוב על ההטמעה ב-Chrome, אפשר לשלוח דיווח על באג או בקשה להוספת תכונה.
- לדבר על העיצוב של Translator API ב-GitHub: אפשר להגיב על בקשה קיימת או לפתוח בקשה חדשה.
- כדי להשתתף במאמץ ליצירת התקנים, אתם יכולים להצטרף לקבוצת הקהילה של Web Incubator.