תאריך הרענון: 2026-09-25 robots: noindex
תיאור
אפשר להשתמש בתשתית chrome.i18n כדי להטמיע בינאום בכל האפליקציה או התוסף.
צריך להוסיף את כל המחרוזות שגלויות למשתמשים לקובץ בשם messages.json. בכל פעם שמוסיפים לוקאל חדש, מוסיפים קובץ הודעות בספרייה בשם _locales/_localeCode_, כאשר localeCode הוא קוד כמו en לאנגלית.
זוהי ההיררכיה של קבצים בתוסף שעבר לוקליזציה ותומך באנגלית (en), בספרדית (es) ובקוריאנית (ko):

איך תומכים בכמה שפות
נניח שיש לכם תוסף עם הקבצים שמוצגים באיור הבא:

כדי להפוך את התוסף הזה לבינלאומי, צריך לתת שם לכל מחרוזת שמוצגת למשתמש ולהכניס אותה לקובץ הודעות. קובץ המניפסט של התוסף, קובצי ה-CSS וקוד ה-JavaScript משתמשים בשם של כל מחרוזת כדי לקבל את הגרסה המותאמת לשפה.
כך נראה התוסף אחרי שעבר לוקליזציה (שימו לב שעדיין יש בו רק מחרוזות באנגלית):
<img "__msg_extname__",="" "default_locale"="" "en".="" "extname"."="" "hello="" _locales="" a="" alt="In the manifest.json file, " and="" been="" changed="" chrome.i18n.getmessage("extname").="" defines="" en="" file="" file,="" has="" hello="" in="" item="" javascript="" messages.json="" named="" new="" src="/static/images/i18n-after-1.gif" the="" to="" value="" world"="" />
כמה הערות לגבי התאמה לשוק הבינלאומי:
- אפשר להשתמש בכל אחד מהלוקאלים הנתמכים. אם משתמשים באזור שלא נתמך, Google Chrome מתעלם ממנו.
בקובצי
manifest.jsonו-CSS, מפנים למחרוזת בשם messagename באופן הבא:__MSG_messagename__בקוד JavaScript של התוסף או האפליקציה, מציינים מחרוזת בשם messagename באופן הבא:
chrome.i18n.getMessage("messagename")בכל קריאה ל-
getMessage(), אפשר לספק עד 9 מחרוזות שייכללו בהודעה. פרטים נוספים מופיעים במאמר דוגמאות: getMessage.חלק מההודעות, כמו
@@bidi_dirו-@@ui_locale, מסופקות על ידי מערכת הלוקליזציה. הרשימה המלאה של שמות ההודעות המוגדרות מראש מופיעה בקטע הודעות מוגדרות מראש.ב-
messages.json, לכל מחרוזת שמוצגת למשתמש יש שם, פריט message ופריט description אופציונלי. השם הוא מפתח כמו extName או search_string שמזהה את המחרוזת. הערך של המחרוזת בלוקאל הזה מצוין ב-message. התיאור האופציונלי מספק עזרה למתרגמים, שאולי לא יוכלו לראות איך המחרוזת משמשת בתוסף שלכם. לדוגמה:{ "search_string": { "message": "hello%20world", "description": "The string we search for. Put %20 between words that go together." }, ... }מידע נוסף זמין במאמר בנושא פורמטים: הודעות ספציפיות ללוקאל.
אחרי שמבצעים אינטרנציונליזציה של תוסף או אפליקציה, קל לתרגם אותם. מעתיקים את messages.json,
מתרגמים אותו ומכניסים את העותק לספרייה חדשה מתחת ל-_locales. לדוגמה, כדי לתמוך בספרדית, פשוט מציבים עותק מתורגם של messages.json מתחת ל-_locales/es. באיור הבא מוצג התוסף הקודם עם תרגום חדש לספרדית.

הודעות מוגדרות מראש
מערכת הלוקליזציה מספקת כמה הודעות מוגדרות מראש שיעזרו לכם לבצע לוקליזציה. הם כוללים את @@ui_locale, כך שתוכלו לזהות את הלוקאל הנוכחי של ממשק המשתמש, וכמה הודעות @@bidi_... שמאפשרות לכם לזהות את כיוון הטקסט. השמות של ההודעות האלה דומים לשמות של קבועים ב-API של BIDI (דו-כיווני) של הגאדג'טים.
אפשר להשתמש בהודעה המיוחדת @@extension_id בקובצי CSS ו-JavaScript, בין אם התוסף או האפליקציה מותאמים לשפה מסוימת ובין אם לא. ההודעה הזו לא פועלת בקובצי מניפסט.
בטבלה הבאה מתוארת כל הודעה מוגדרת מראש.
| שם ההודעה | תיאור |
|---|---|
@@extension_id | המזהה של התוסף או האפליקציה. יכול להיות שתשתמשו במחרוזת הזו כדי ליצור כתובות URL למשאבים בתוך התוסף. אפשר להשתמש בהודעה הזו גם בתוספים שלא עברו לוקליזציה. הערה: אי אפשר להשתמש בהודעה הזו בקובץ מניפסט. |
@@ui_locale | הלוקאל הנוכחי. יכול להיות שתשתמשו במחרוזת הזו כדי ליצור כתובות URL ספציפיות ללוקאל. |
@@bidi_dir | כיוון הטקסט של הלוקאל הנוכחי, ltr לשפות שכותבים משמאל לימין כמו אנגלית, או rtl לשפות שכותבים מימין לשמאל כמו יפנית. |
@@bidi_reversed_dir | אם הערך של @@bidi_dir הוא ltr, הערך של המאפיין הזה הוא rtl. אחרת, הערך הוא ltr. |
@@bidi_start_edge | אם הערך של @@bidi_dir הוא ltr, הערך של המאפיין הזה הוא left. אחרת, הערך הוא right. |
@@bidi_end_edge | אם הערך של @@bidi_dir הוא ltr, הערך של המאפיין הזה הוא right. אחרת, הערך הוא left. |
דוגמה לשימוש ב-@@extension_id בקובץ CSS כדי ליצור כתובת URL:
body {
background-image:url('chrome-extension://__MSG_@@extension_id__/background.png');
}
אם מזהה התוסף הוא abcdefghijklmnopqrstuvwxyzabcdef, השורה המודגשת בקטע הקוד הקודם הופכת להיות:
background-image:url('chrome-extension://abcdefghijklmnopqrstuvwxyzabcdef/background.png');
דוגמה לשימוש בהודעות @@bidi_* בקובץ CSS:
body {
direction: __MSG_@@bidi_dir__;
}
div#header {
margin-bottom: 1.05em;
overflow: hidden;
padding-bottom: 1.5em;
padding-__MSG_@@bidi_start_edge__: 0;
padding-__MSG_@@bidi_end_edge__: 1.5em;
position: relative;
}
בשפות שנכתבות משמאל לימין, כמו אנגלית, הקווים המודגשים הופכים ל:
dir: ltr;
padding-left: 0;
padding-right: 1.5em;
לוקאלים
אפשר לבחור מתוך הרבה לוקאלים, כולל כאלה (כמו en) שמאפשרים לתרגום יחיד לתמוך בכמה וריאציות של שפה (כמו en_GB ו-en_US).
מיקומים נתמכים
אתם יכולים להשתמש בכל אחד מהלוקאלים שחנות האינטרנט של Chrome תומכת בהם.
חיפוש הודעות
לא צריך להגדיר כל מחרוזת לכל לוקאל נתמך. כל עוד בקובץ messages.json של הלוקאל שמוגדר כברירת מחדל יש ערך לכל מחרוזת, התוסף או האפליקציה יפעלו בלי קשר למידת הדיוק של התרגום. כך מערכת התוספים מחפשת הודעה:
- מחפשים בקובץ ההודעות (אם יש כזה) את הלוקאל המועדף של המשתמש. לדוגמה, אם הלוקאל של Google Chrome מוגדר לאנגלית בריטית (
en_GB), המערכת מחפשת את ההודעה קודם ב_locales/en_GB/messages.json. אם הקובץ הזה קיים וההודעה נמצאת בו, המערכת לא תבדוק יותר. - אם הלוקאל המועדף של המשתמש כולל אזור (כלומר, הלוקאל כולל קו תחתון: _), צריך לחפש את הלוקאל בלי האזור הזה. לדוגמה, אם קובץ ההודעות
en_GBלא קיים או לא מכיל את ההודעה, המערכת מחפשת בקובץ ההודעותen. אם הקובץ הזה קיים וההודעה נמצאת בו, המערכת לא תבדוק יותר. - מחפשים בקובץ ההודעות את הלוקאל שמוגדר כברירת מחדל. לדוגמה, אם הערך של default_locale בתוסף מוגדר כ-es, ואף אחד מהקבצים
_locales/en_GB/messages.jsonו-_locales/en/messages.jsonלא מכיל את ההודעה, התוסף משתמש בהודעה מהקובץ_locales/es/messages.json.
באיור הבא, ההודעה בשם colores מופיעה בכל שלושת הלוקאלים שהתוסף תומך בהם, אבל extName מופיע רק בשניים מהלוקאלים. בכל מקום שבו משתמש שמפעיל את Google Chrome באנגלית אמריקאית רואה את התווית Colors, משתמש באנגלית בריטית רואה את התווית Colours. משתמשים באנגלית אמריקאית ובאנגלית בריטית רואים את שם התוסף 'Hello World'. מכיוון ששפת ברירת המחדל היא ספרדית, משתמשים שמריצים את Google Chrome בכל שפה שאינה אנגלית רואים את התווית Colores ואת שם התוסף Hola mundo.

איך מגדירים את הלוקאל בדפדפן
כדי לבדוק תרגומים, כדאי להגדיר את הלוקאל של הדפדפן. בקטע הזה מוסבר איך להגדיר את הלוקאל ב-Windows, ב-Mac OS X, ב-Linux וב-ChromeOS.
Windows
אפשר לשנות את הלוקאל באמצעות קיצור דרך ספציפי ללוקאל או באמצעות ממשק המשתמש של Google Chrome. השימוש בקיצור דרך מהיר יותר אחרי שמגדירים אותו, והוא מאפשר להשתמש בכמה שפות בו-זמנית.
שימוש בקיצור דרך ספציפי לאזור
כדי ליצור קיצור דרך שמפעיל את Google Chrome עם לוקאל מסוים ולהשתמש בו:
- יוצרים עותק של קיצור הדרך ל-Google Chrome שכבר נמצא בשולחן העבודה.
- משנים את השם של קיצור הדרך החדש כך שיתאים ללוקאל החדש.
משנים את המאפיינים של קיצור הדרך כך שבשדה Target (יעד) יצוינו הדגלים
--langו---user-data-dir. היעד אמור להיראות כך:path_to_chrome.exe --lang=locale --user-data-dir=c:\locale_profile_dirמפעילים את Google Chrome בלחיצה כפולה על קיצור הדרך.
לדוגמה, כדי ליצור קיצור דרך להפעלת Google Chrome בספרדית (es), אפשר ליצור קיצור דרך בשם chrome-es עם היעד הבא:
path_to_chrome.exe --lang=es --user-data-dir=c:\chrome-profile-es
אתם יכולים ליצור כמה קיצורי דרך שתרצו, כדי שיהיה לכם קל לבדוק בשפות שונות. לדוגמה:
path_to_chrome.exe --lang=en --user-data-dir=c:\chrome-profile-en
path_to_chrome.exe --lang=en_GB --user-data-dir=c:\chrome-profile-en_GB
path_to_chrome.exe --lang=ko --user-data-dir=c:\chrome-profile-ko
שימוש בממשק המשתמש
כך משנים את הלוקאל באמצעות ממשק המשתמש ב-Google Chrome ל-Windows:
- סמל האפליקציה > אפשרויות
- לוחצים על הכרטיסייה Under the Hood (מתחת למכסה המנוע).
- גוללים למטה אל תוכן אינטרנט.
- לוחצים על שינוי הגדרות הגופן והשפה.
- לוחצים על הכרטיסייה שפות.
- משתמשים בתפריט הנפתח כדי להגדיר את השפה ב-Google Chrome.
- הפעלה מחדש של Chrome
Mac OS X
כדי לשנות את הלוקאל ב-Mac, משתמשים בהעדפות המערכת.
- בתפריט אפל, בוחרים באפשרות העדפות המערכת.
- בקטע Personal, בוחרים באפשרות International.
- בחירת השפה והמיקום
- הפעלה מחדש של Chrome
Linux
כדי לשנות את הלוקאל ב-Linux, קודם צריך לצאת מ-Google Chrome. לאחר מכן, בשורה אחת, מגדירים את משתנה הסביבה LANGUAGE ומפעילים את Google Chrome. לדוגמה:
LANGUAGE=es ./chrome
ChromeOS
כדי לשנות את הלוקאל ב-ChromeOS:
- במגש המערכת, בוחרים באפשרות הגדרות.
- בקטע שפות וקלט, בוחרים בתפריט הנפתח שפה.
- אם השפה שלכם לא מופיעה ברשימה, לוחצים על הוספת שפות ומוסיפים אותה.
- אחרי שמוסיפים את השפה, לוחצים על סמל 3 הנקודות פעולות נוספות לצד השפה ובוחרים באפשרות הצגת ChromeOS בשפה הזו.
- לוחצים על הלחצן הפעלה מחדש שמופיע ליד השפה שהוגדרה כדי להפעיל מחדש את ChromeOS.
דוגמאות
דוגמאות פשוטות לאינטרנציונליזציה אפשר למצוא בספרייה examples/api/i18n. דוגמה מלאה זמינה בכתובת examples/extensions/news. דוגמאות נוספות ועזרה בהצגת קוד המקור זמינות במאמר דוגמאות.
דוגמאות: getMessage
הקוד הבא מקבל הודעה מותאמת לשפה המקומית מהדפדפן ומציג אותה כמחרוזת. הפונקציה מחליפה שני placeholders בהודעה במחרוזות string1 ו-string2.
function getMessage() {
var message = chrome.i18n.getMessage("click_here", ["string1", "string2"]);
document.getElementById("languageSpan").innerHTML = message;
}
כך מספקים מחרוזת אחת ומשתמשים בה:
// In JavaScript code
status.innerText = chrome.i18n.getMessage("error", errorDetails);
"error": {
"message": "Error: $details$",
"description": "Generic error template. Expects error parameter to be passed in.",
"placeholders": {
"details": {
"content": "$1",
"example": "Failed to fetch RSS feed."
}
}
}
מידע נוסף על placeholder זמין בדף הודעות ספציפיות ללוקאל. פרטים על קריאה ל-getMessage() זמינים במאמרי העזרה של ה-API.
דוגמה: getAcceptLanguages
הקוד הבא מקבל את השפות המועדפות מהדפדפן ומציג אותן כמחרוזת, כשכל שפה מופרדת באמצעות ','.
function getAcceptLanguages() {
chrome.i18n.getAcceptLanguages(function(languageList) {
var languages = languageList.join(",");
document.getElementById("languageSpan").innerHTML = languages;
})
}
פרטים על קריאה ל-getAcceptLanguages() זמינים במאמרי העזרה של ה-API.
דוגמה: detectLanguage
הקוד הבא מזהה עד 3 שפות מהמחרוזת שצוינה ומציג את התוצאה כמחרוזות שמופרדות באמצעות מעברי שורה.
function detectLanguage(inputText) {
chrome.i18n.detectLanguage(inputText, function(result) {
var outputLang = "Detected Language: ";
var outputPercent = "Language Percentage: ";
for(i = 0; i < result.languages.length; i++) {
outputLang += result.languages[i].language + " ";
outputPercent +=result.languages[i].percentage + " ";
}
document.getElementById("languageSpan").innerHTML = outputLang + "\n" + outputPercent + "\nReliable: " + result.isReliable;
});
}
פרטים נוספים על קריאה ל-detectLanguage(inputText) זמינים במאמרי העזרה של ה-API.
סוגים
LanguageCode
קוד שפה לפי תקן ISO, כמו en או fr. רשימה מלאה של השפות שנתמכות בשיטה הזו זמינה ב-kLanguageInfoTable. אם השפה לא ידועה, הפונקציה תחזיר und, כלומר [percentage] מהטקסט לא ידוע ל-CLD
סוג
מחרוזת
Methods
detectLanguage()
chrome.i18n.detectLanguage(
text: string,
callback?: function,
): Promise<object>
מזהה את השפה של הטקסט שסופק באמצעות CLD.
פרמטרים
-
text
מחרוזת
קלט של משתמשים שצריך לתרגם.
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(result: object) => void
-
תוצאה
אובייקט
אובייקט LanguageDetectionResult שמכיל את מהימנות השפה שזוהתה ומערך של DetectedLanguage
-
isReliable
בוליאני
מהימנות השפה שזוהתה על ידי CLD
-
שפות
object[]
מערך של detectedLanguage
-
language
מחרוזת
-
אחוזים
number
אחוז השפה שזוהתה
-
-
-
החזרות
-
Promise<object>
Chrome 99 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getAcceptLanguages()
chrome.i18n.getAcceptLanguages(
callback?: function,
): Promise<LanguageCode[]>
הוראת המאקרו הזו מחזירה את השפות המועדפות בדפדפן. הלוקאל הזה שונה מהלוקאל שבו משתמש הדפדפן. כדי לקבל את הלוקאל, משתמשים ב-i18n.getUILanguage.
פרמטרים
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(languages: string[]) => void
-
שפות
string[]
Array of LanguageCode
-
החזרות
-
Promise<LanguageCode[]>
Chrome 99 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getMessage()
chrome.i18n.getMessage(
messageName: string,
substitutions?: any,
options?: object,
): string
מחזירה את המחרוזת המותאמת לשוק המקומי של ההודעה שצוינה. אם ההודעה חסרה, השיטה הזו מחזירה מחרוזת ריקה (''). אם הפורמט של הקריאה getMessage() שגוי – למשל, אם messageName היא לא מחרוזת או אם למערך substitutions יש יותר מ-9 רכיבים – השיטה הזו מחזירה undefined.
פרמטרים
-
messageName
מחרוזת
שם ההודעה, כפי שצוין בקובץ
messages.json. -
החלפות
כל אופציונלי
עד 9 מחרוזות החלפה, אם ההודעה דורשת זאת.
-
options
אובייקט אופציונלי
Chrome 79 ואילך-
escapeLt
boolean אופציונלי
יציאה
<בתרגום ל<. ההגדרה הזו חלה רק על ההודעה עצמה, ולא על משתני המיקום. מפתחים יכולים להשתמש באפשרות הזו אם התרגום משמש בהקשר של HTML. תבניות Closure שמשמשות עם Closure Compiler יוצרות את זה באופן אוטומטי.
-
החזרות
-
מחרוזת
הודעה שעברה לוקליזציה בהתאם ללוקאל הנוכחי.
getUILanguage()
chrome.i18n.getUILanguage(): string
מחזירה את שפת ממשק המשתמש של הדפדפן. זה שונה מ-i18n.getAcceptLanguages שמחזיר את השפות המועדפות של המשתמש.
החזרות
-
מחרוזת
קוד השפה של ממשק המשתמש בדפדפן, למשל en-US או fr-FR.