פורסם: 24 בספטמבר 2024, עדכון אחרון: 20 במאי 2025
הסבר | פיתוח אתרים | תוספים | הסטטוס של Chrome | המטרה |
---|---|---|---|---|
MDN | | | תצוגה | כוונה לשלוח |
לפני שמתרגמים טקסט משפה אחת לשפה אחרת, צריך קודם לקבוע באיזו שפה הטקסט כתוב. בעבר, כדי לתרגם טקסט היה צריך להעלות אותו לשירות ענן, לבצע את התרגום בשרת ואז להוריד את התוצאות.
Language Detector API פועל בצד הלקוח, כך שאתם יכולים להגן על פרטיות המשתמשים. אפשר לשלוח ספרייה ספציפית שעושה את זה, אבל זה ידרוש משאבים נוספים להורדה.
מתי כדאי להשתמש בזיהוי שפה
השימוש העיקרי ב-Language Detector API הוא בתרחישים הבאים:
- לקבוע את השפה של טקסט הקלט, כדי שיהיה אפשר לתרגם אותו.
- קביעת השפה של טקסט הקלט, כדי שניתן יהיה לטעון את המודל הנכון למשימות ספציפיות לשפה, כמו זיהוי רעילות.
- קביעת השפה של טקסט הקלט, כדי שאפשר יהיה לסמן אותו בצורה נכונה, למשל באתרים של רשתות חברתיות אונליין.
- קביעת השפה של טקסט הקלט, כדי שניתן יהיה להתאים את הממשק של האפליקציה בהתאם. לדוגמה, באתר בלגי, הממשק יוצג רק למשתמשים שמדברים צרפתית.
שנתחיל?
ה-API של Language Detector זמין מגרסה יציבה של Chrome 138. מריצים זיהוי תכונות כדי לבדוק אם הדפדפן תומך ב-Language Detector API.
if ('LanguageDetector' in self) { // The Language Detector API is available. }
בדיקת דרישות החומרה
הדרישות הבאות חלות על מפתחים ועל משתמשים שמפעילים תכונות באמצעות ממשקי ה-API האלה ב-Chrome. בדפדפנים אחרים עשויות להיות דרישות הפעלה שונות.
ממשקי ה-API של כלי זיהוי השפה והתרגום פועלים ב-Chrome במחשב. ממשקי ה-API האלה לא פועלים במכשירים ניידים. ממשקי Prompt API, Summarizer API, Writer API ו-Rewriter API פועלים ב-Chrome כשמתקיימים התנאים הבאים:
- מערכת הפעלה: Windows 10 או 11; macOS מגרסה 13 ואילך (Ventura ואילך); או Linux. Chrome ל-Android, ל-iOS ול-ChromeOS עדיין לא נתמך על ידי ממשקי ה-API שמשתמשים ב-Gemini Nano.
- אחסון: לפחות 22 GB של שטח פנוי בכרך שמכיל את פרופיל Chrome.
- מעבד גרפי (GPU): יותר מ-4 GB של VRAM.
- רשת: נתונים ללא הגבלה או חיבור ללא מדידה.
הגודל המדויק של Gemini Nano עשוי להשתנות כשהדפדפן מעדכן את המודל. כדי לראות את הגודל הנוכחי, נכנסים אל chrome://on-device-internals
ועוברים אל סטטוס המודל. פותחים את נתיב הקובץ שמופיע ברשימה כדי לקבוע את גודל המודל.
הורדת המודל
זיהוי השפה מתבסס על מודל שעבר כוונון עדין למשימה הספציפית של זיהוי שפות. ה-API מובנה בדפדפן, אבל המודל מורד לפי דרישה בפעם הראשונה שאתר מנסה להשתמש ב-API. בדפדפן Chrome, המודל הזה קטן מאוד בהשוואה למודלים אחרים. יכול להיות שהיא כבר קיימת, כי המודל הזה נמצא בשימוש בתכונות אחרות של Chrome.
כדי לקבוע אם המודל מוכן לשימוש, מפעילים את הפונקציה האסינכרונית LanguageDetector.availability()
. אם התשובה ל-availability()
הייתה downloadable
, צריך להמתין להתקדמות ההורדה ולעדכן את המשתמש, כי ההורדה עשויה להימשך זמן מה.
const availability = await LanguageDetector.availability();
כדי להפעיל את ההורדה וליצור מופע של הכלי לזיהוי שפה, בודקים אם יש הפעלה של משתמש. לאחר מכן, קוראים לפונקציה LanguageDetector.create()
האסינכרונית.
const detector = await LanguageDetector.create({ monitor(m) { m.addEventListener('downloadprogress', (e) => { console.log(`Downloaded ${e.loaded * 100}%`); }); }, });
הפעלת זיהוי השפה
ה-API של Language Detector משתמש במודל דירוג כדי לקבוע באיזו שפה הכי סביר שנעשה שימוש בקטע טקסט נתון. דירוג הוא סוג של למידת מכונה, שבו המטרה היא לסדר רשימה של פריטים. במקרה הזה, ה-API של Language Detector מדרג את השפות מהסבירות הגבוהה ביותר לנמוכה ביותר.
הפונקציה detect()
יכולה להחזיר את התוצאה הראשונה, את התשובה הסבירה ביותר או לחזור על המועמדים המדורגים עם רמת הביטחון. הערך שמוחזר הוא רשימה של {detectedLanguage, confidence}
אובייקטים. הרמה confidence
מבוטאת כערך בין 0.0
(המהימנות הכי נמוכה) לבין 1.0
(המהימנות הכי גבוהה).
const someUserText = 'Hallo und herzlich willkommen!'; const results = await detector.detect(someUserText); for (const result of results) { // Show the full list of potential languages with their likelihood, ranked // from most likely to least likely. In practice, one would pick the top // language(s) that cross a high enough threshold. console.log(result.detectedLanguage, result.confidence); } // (Output truncated): // de 0.9993835687637329 // en 0.00038279531872831285 // nl 0.00010798392031574622 // ...
API playground
אפשר להתנסות ב-Language Detector API בסביבת הניסויים של API. מזינים את הטקסט שכתוב בשפות שונות באזור הטקסט.
מדיניות הרשאות, מסגרות iframe ו-Web Workers
כברירת מחדל, ה-API של Language Detector זמין רק לחלונות ברמה העליונה ול-iframe מאותו מקור. אפשר להעניק גישה ל-API ל-iframes ממקורות שונים באמצעות מאפיין allow=""
Permission Policy:
<!-- The hosting site at https://main.example.com can grant a cross-origin iframe at https://cross-origin.example.com/ access to the Language Detector API by setting the `allow="language-detector"` attribute. --> <iframe src="https://cross-origin.example.com/" allow="language-detector"></iframe>
בשלב הזה, ה-API של Language Detector לא זמין ב-Web Workers, בגלל המורכבות של יצירת מסמך אחראי לכל worker כדי לבדוק את הסטטוס של מדיניות ההרשאות.
מאמץ התקנון
אנחנו פועלים כדי לתקנן את Language Detector API (ממשק API לזיהוי שפה) לצורך תאימות לדפדפנים שונים.
Language Detector API ו-Translator API אומצו על ידי W3C WebML Working Group. פנינו אל Mozilla ו-WebKit כדי לקבל את עמדותיהן בנוגע לתקנים.
שיתוף משוב
נשמח לראות מה אתם בונים באמצעות Language Detector API. אתם יכולים לשתף איתנו את האתרים ואת אפליקציות האינטרנט שלכם ב-X, ב-YouTube וב-LinkedIn.
אם יש לכם משוב על ההטמעה של Chrome, אתם יכולים לדווח על באג ב-Chromium.