chrome.i18n

คำอธิบาย

ใช้โครงสร้างพื้นฐาน chrome.i18n เพื่อปรับใช้การปรับให้เป็นสากลทั่วทั้งแอปหรือส่วนขยาย

ไฟล์ Manifest

หากส่วนขยายมีไดเรกทอรี /_locales ไฟล์ Manifest ต้องกำหนด "default_locale"

แนวคิดและการใช้งาน

คุณต้องใส่สตริงทั้งหมดที่ผู้ใช้มองเห็นลงในไฟล์ชื่อ messages.json แต่ละครั้ง คุณเพิ่มภาษาใหม่ โดยเพิ่มไฟล์ข้อความภายใต้ไดเรกทอรีชื่อ /_locales/_localeCode_ โดยที่ localeCode คือรหัส เช่น en สำหรับภาษาอังกฤษ

นี่คือลำดับชั้นของไฟล์สำหรับส่วนขยายสากลที่รองรับภาษาอังกฤษ (en) สเปน (es) และเกาหลี (ko):

ในไดเรกทอรีส่วนขยาย: Manifest.json, *.html, *.js, ไดเรกทอรี /_locates ในไดเรกทอรี /_locates: ไดเรกทอรี en, es และ ko แต่ละรายการมีไฟล์ messages.json

รองรับหลายภาษา

สมมติว่าคุณมีส่วนขยายพร้อมด้วยไฟล์ที่แสดงในรูปต่อไปนี้

ไฟล์ Manifest.json และไฟล์ที่มี JavaScript ไฟล์ .json มี

หากต้องการทำให้ส่วนขยายนี้เป็นสากล คุณต้องตั้งชื่อแต่ละสตริงที่ผู้ใช้มองเห็นได้และใส่ไว้ในข้อความ ไฟล์ Manifest, ไฟล์ CSS และโค้ด JavaScript ของส่วนขยายใช้ชื่อของแต่ละสตริงเพื่อรับ เวอร์ชันแปล

เมื่อส่วนขยายเป็นสากลจะมีลักษณะดังนี้ (โปรดทราบว่าส่วนขยายยังมี สตริงภาษาอังกฤษ):

<img "__msg_extname__",="" "default_locale"="" "th".="" "extname"."="" "สวัสดี="" _locates=&quot;&quot; a=&quot;&quot; alt="ในไฟล์ Manifest.json " and=&quot;&quot; เป็น="" changed=&quot;&quot; chrome.i18n.getmessage("extname")="" defines=&quot;&quot; en=&quot;&quot; file=&quot;&quot; file,=&quot;&quot; has=&quot;&quot; hello=&quot;&quot; in=&quot;&quot; item=&quot;&quot; javascript=&quot;&quot; messages.json=&quot;&quot; named=&quot;&quot; ใหม่="" src=&quot;/static/docs/extensions/mv2/reference/i18n/images/i18n-after-1.gif&quot; the=&quot;&quot; to=&quot;&quot; ค่า="" โลก"="" />

หมายเหตุเกี่ยวกับการทำให้เป็นสากล:

  • คุณจะใช้ภาษาที่รองรับก็ได้ หากคุณใช้ภาษาที่ไม่รองรับ Google Chrome ไม่สนใจ
  • ในไฟล์ manifest.json และ CSS ให้ดูสตริงชื่อ messagename ดังนี้

    __MSG_messagename__
    
  • ในโค้ด JavaScript ของส่วนขยายหรือแอปพลิเคชันของคุณ ให้ดูที่สตริงชื่อ messagename ดังนี้

    chrome.i18n.getMessage("messagename")
    
  • ในการเรียก getMessage() แต่ละครั้ง คุณสามารถระบุสตริงได้ถึง 9 สตริงในข้อความ โปรดดู ตัวอย่าง: getMessage สำหรับรายละเอียด

  • ข้อความบางอย่าง เช่น @@bidi_dir และ @@ui_locale มาจากการปรับให้เป็นสากล ระบบ โปรดดูรายการชื่อข้อความที่กำหนดไว้ล่วงหน้าทั้งหมดในส่วนข้อความที่กำหนดไว้ล่วงหน้า

  • ใน messages.json สตริงที่ผู้ใช้มองเห็นแต่ละรายการจะมีชื่อ ซึ่งก็คือ "ข้อความ" ตัวเลือกเพิ่มเติม &quot;description&quot; รายการ ชื่อคือคีย์ เช่น "extName" หรือ "search_string" ซึ่งระบุถึง สตริง "ข้อความ" ระบุค่าของสตริงในภาษานี้ "รายละเอียด" (ไม่บังคับ) ให้ความช่วยเหลือแก่นักแปล ซึ่งอาจจะไม่สามารถดูวิธีการใช้งานสตริงใน ส่วนขยาย เช่น

    {
      "search_string": {
        "message": "hello%20world",
        "description": "The string we search for. Put %20 between words that go together."
      },
      ...
    }
    

โปรดดูข้อมูลเพิ่มเติมที่รูปแบบ: ข้อความที่ระบุสถานที่

เมื่อส่วนขยายได้รับการทำให้เป็นสากลแล้ว การแปลก็เป็นเรื่องง่าย คุณคัดลอก messages.json แปลเอกสาร และใส่สำเนานั้นในไดเรกทอรีใหม่ภายใต้ /_locates เช่น เพื่อสนับสนุน ภาษาสเปน โปรดวางสำเนาที่แปลแล้วของ messages.json ไว้ใต้ /_locates/es รูปต่อไปนี้ แสดงส่วนขยายก่อนหน้าพร้อมคำแปลใหม่เป็นภาษาสเปน

ซึ่งดูเหมือนกับรูปก่อนหน้า แต่มีไฟล์ใหม่ที่ /_locates/es/messages.json ซึ่งมีข้อความที่แปลแล้วเป็นภาษาสเปน

ข้อความที่กำหนดไว้ล่วงหน้า

ระบบการปรับให้เป็นสากลจะแสดงข้อความที่กำหนดไว้ล่วงหน้าเล็กน้อยเพื่อช่วยคุณแปล เหล่านี้ มี @@ui_locale เพื่อให้คุณสามารถตรวจหาภาษาของ UI ปัจจุบัน และข้อความ @@bidi_... ไม่กี่รายการที่ ให้คุณตรวจจับทิศทางข้อความได้ ข้อความหลังมีชื่อคล้ายกับค่าคงที่ใน แกดเจ็ต BIDI (2 ทิศทาง) API

คุณสามารถใช้ข้อความพิเศษ @@extension_id ในไฟล์ CSS และ JavaScript ไม่ว่าจะเป็น ส่วนขยายหรือแอป ข้อความนี้ใช้ไม่ได้ในไฟล์ Manifest

ตารางต่อไปนี้จะอธิบายข้อความที่กำหนดไว้ล่วงหน้าแต่ละข้อความ

ชื่อข้อความคำอธิบาย
@@extension_idรหัสส่วนขยายหรือรหัสแอป คุณอาจใช้สตริงนี้เพื่อสร้าง URL สำหรับทรัพยากรภายในส่วนขยาย แม้แต่ส่วนขยายที่ไม่ได้แปลก็อาจใช้ข้อความนี้ได้
หมายเหตุ: คุณใช้ข้อความนี้ในไฟล์ Manifest ไม่ได้
@@ui_localeสถานที่ปัจจุบัน คุณอาจใช้สตริงนี้เพื่อสร้าง URL ที่เจาะจงสถานที่
@@bidi_dirทิศทางข้อความของภาษาปัจจุบัน หรือ "ltr" สำหรับภาษาที่อ่านจากซ้ายไปขวา เช่น อังกฤษ หรือ "rtl" สำหรับภาษาที่อ่านจากขวาไปซ้าย เช่น อาหรับ
@@bidi_reversed_dirหาก @@bidi_dir เป็น "ltr" ค่าที่ได้จะเป็น "rtl" ไม่เช่นนั้น จะเป็น "ltr"
@@bidi_start_edgeหาก @@bidi_dir เป็น "ltr" จะเป็น "left" ไม่เช่นนั้น ถือว่า "ถูก"
@@bidi_end_edgeหาก @@bidi_dir เป็น "ltr" เท่ากับว่า "ถูกต้อง" ไม่เช่นนั้น จะเป็น "ซ้าย"

ต่อไปนี้คือตัวอย่างการใช้ @@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 เว็บสโตร์รองรับ หากภาษาของคุณไม่อยู่ในรายการ ให้เลือกตำแหน่งอื่นที่ใกล้เคียงที่สุด ตัวอย่างเช่น หากภาษาเริ่มต้นของส่วนขยายคือ "de_CH" ให้เลือก "de" ใน Chrome เว็บสโตร์

รหัสภาษา ภาษา (ภูมิภาค)
ar อาหรับ
am อัมฮาริก
bg บัลแกเรีย
bn เบงกอล
ca คาตาลัน
cs เช็ก
da เดนมาร์ก
de เยอรมัน
el กรีก
en อังกฤษ
en_AU อังกฤษ (ออสเตรเลีย)
EN_GB อังกฤษ (สหราชอาณาจักร)
th-TH อังกฤษ (สหรัฐอเมริกา)
es สเปน
es_419 สเปน (ละตินอเมริกาและแคริบเบียน)
et เอสโตเนีย
fa เปอร์เซีย
fi ฟินแลนด์
fil ฟิลิปปินส์
fr ฝรั่งเศส
gu คุชราต
เขา ฮีบรู
hi ฮินดี
ชม. โครเอเชีย
hu ฮังการี
id อินโดนีเซีย
it อิตาลี
ja ญี่ปุ่น
kn กันนาดา
ko เกาหลี
lt ลิทัวเนีย
lv ลัตเวีย
ml มาลายาลัม
mr มราฐี
มิลลิวินาที มาเลย์
nl ดัตช์
ไม่ นอร์เวย์
pl โปแลนด์
แต้ม_BR โปรตุเกส (บราซิล)
pt_PT โปรตุเกส (โปรตุเกส)
ro โรมาเนีย
ru รัสเซีย
sk สโลวัก
sl สโลวีเนีย
sr เซอร์เบีย
sv สวีเดน
sw สวาฮิลี
ta ทมิฬ
te เตลูกู
th ไทย
tr ตุรกี
uk ยูเครน
vi เวียดนาม
zh_CN จีน (จีน)
zh_TW จีน (ไต้หวัน)

ค้นหาข้อความ

คุณไม่จำเป็นต้องกำหนดทุกสตริงในทุกภาษาที่รองรับ ตราบใดที่ภาษาเริ่มต้น ไฟล์ messages.json มีค่าสำหรับทุกสตริง ส่วนขยายหรือแอปจะทำงานไม่ว่าอย่างไรก็ตาม คำแปลก็พอประมาณ วิธีที่ระบบส่วนขยายค้นหาข้อความมีดังนี้

  1. ค้นหาไฟล์ข้อความ (หากมี) สำหรับภาษาที่ผู้ใช้ต้องการ ตัวอย่างเช่น เมื่อ Google ภาษาของ Chrome ตั้งค่าเป็นภาษาอังกฤษแบบอังกฤษ (en_GB) ระบบจะมองหาข้อความในภาษาอังกฤษก่อน /_locates/en_GB/messages.json หากมีไฟล์นั้นอยู่ และมีข้อความอยู่ในนั้น ระบบจะหา หลังจากนี้
  2. ถ้าภาษาที่ผู้ใช้ต้องการมีภูมิภาค (กล่าวคือ ภาษามีเครื่องหมายขีดล่าง: _) ให้ค้นหา ภาษาที่ไม่มีภูมิภาคนั้น ตัวอย่างเช่น หากไม่มีไฟล์ข้อความ en_GB หรือ ไม่มีข้อความอยู่ ระบบจะหาในไฟล์ข้อความ en หากมีไฟล์นั้นอยู่ และ มีข้อความอยู่ในนั้น ระบบจะไม่หาข้อมูลเพิ่มเติมใดๆ อีก
  3. ค้นหาไฟล์ข้อความสำหรับภาษาเริ่มต้น ตัวอย่างเช่น หากส่วนขยาย "default_locale" ตั้งค่าเป็น "es" และไม่ใช่ /_locates/en_GB/messages.json และ /_locates/en/messages.json มีข้อความ ส่วนขยายจะใช้ข้อความจาก /_locates/es/messages.json

ในรูปต่อไปนี้ ข้อความชื่อว่า "colores" อยู่ในทั้ง 3 ภาษาที่ส่วนขยาย รองรับ แต่ "extName" อยู่ใน 2 ภาษาเท่านั้น ทุกที่ที่ผู้ใช้ใช้ Google Chrome ในสหรัฐอเมริกา ภาษาอังกฤษจะเห็นป้ายกำกับ "สี" ส่วนผู้ใช้ภาษาอังกฤษแบบอังกฤษจะเห็นคำว่า "Colours" ทั้งภาษาอังกฤษแบบสหรัฐอเมริกาและ ผู้ใช้ภาษาอังกฤษแบบอังกฤษจะเห็นชื่อส่วนขยาย " Hello World" เนื่องจากภาษาเริ่มต้นคือภาษาสเปน ผู้ใช้ที่เรียกใช้ Google Chrome ในภาษาอื่นที่ไม่ใช่ภาษาอังกฤษจะเห็นป้ายกำกับ "Colores" และส่วนขยาย ชื่อ "Hola mundo"

4 ไฟล์: Manifest.json และไฟล์ messages.json 3 ไฟล์ (สำหรับ es, en และ en_GB)  ไฟล์ es และ en จะแสดงรายการสำหรับข้อความชื่อ

ตั้งค่าภาษาของเบราว์เซอร์

คุณอาจต้องตั้งค่าภาษาของเบราว์เซอร์เพื่อทดสอบการแปล ส่วนนี้จะบอกวิธีตั้ง ภาษาใน Windows, Mac OS X, Linux และ ChromeOS

Windows

คุณสามารถเปลี่ยนภาษาได้โดยใช้ทางลัดเฉพาะภาษาหรือ UI ของ Google Chrome ทางลัดจะรวดเร็วขึ้นเมื่อคุณตั้งค่า และช่วยให้คุณใช้หลายๆ ภาษาพร้อมกันได้

ใช้ทางลัดเฉพาะภาษา

ในการสร้างและใช้ทางลัดที่เปิด Google Chrome ด้วยภาษาเฉพาะ:

  1. ทำสำเนาทางลัดของ Google Chrome ที่มีอยู่บนเดสก์ท็อป
  2. เปลี่ยนชื่อแป้นพิมพ์ลัดใหม่ให้ตรงกับภาษาใหม่
  3. เปลี่ยนคุณสมบัติของทางลัดเพื่อให้ช่อง "เป้าหมาย" ระบุ --lang และ --user-data-dir แฟล็ก เป้าหมายควรมีลักษณะดังนี้

    path_to_chrome.exe --lang=locale --user-data-dir=c:\locale_profile_dir
    
  4. เปิดใช้งาน 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
ใช้ UI

วิธีเปลี่ยนการตั้งค่าภาษาโดยใช้ UI บน Google Chrome สำหรับ Windows มีดังนี้

  1. ไอคอนแอป > ตัวเลือก
  2. เลือกแท็บขั้นสูง
  3. เลื่อนลงไปที่เนื้อหาเว็บ
  4. คลิกเปลี่ยนการตั้งค่าแบบอักษรและภาษา
  5. เลือกแท็บ Languages
  6. ใช้เมนูแบบเลื่อนลงเพื่อตั้งค่าภาษาของ Google Chrome
  7. รีสตาร์ท Chrome

Mac OS X

หากต้องการเปลี่ยนภาษาบน Mac คุณต้องใช้ค่ากำหนดของระบบ

  1. จากเมนู Apple ให้เลือกค่ากำหนดของระบบ
  2. ในส่วนส่วนตัว ให้เลือกระหว่างประเทศ
  3. เลือกภาษาและสถานที่ตั้ง
  4. รีสตาร์ท Chrome

Linux

หากต้องการเปลี่ยนภาษาบน Linux ก่อนอื่นให้ปิด Google Chrome จากนั้นให้ตั้งค่า LANGUAGE ตัวแปรสภาพแวดล้อมและเปิดใช้ Google Chrome เช่น

LANGUAGE=es ./chrome

ChromeOS

วิธีเปลี่ยนภาษาใน ChromeOS

  1. จากถาดระบบ ให้เลือกการตั้งค่า
  2. ในส่วนภาษาและการป้อนข้อมูล ให้เลือกเมนูแบบเลื่อนลงภาษา
  3. หากภาษาของคุณไม่อยู่ในรายการ ให้คลิกเพิ่มภาษา แล้วเพิ่มภาษานั้น
  4. เมื่อเพิ่มแล้ว ให้คลิกที่รายการเมนูการทำงานเพิ่มเติม 3 จุดข้างภาษาของคุณ แล้วเลือก แสดง ChromeOS ในภาษานี้
  5. คลิกปุ่มรีสตาร์ทที่ปรากฏถัดจากภาษาที่ตั้งค่าไว้เพื่อรีสตาร์ท ChromeOS

ตัวอย่าง

คุณสามารถดูตัวอย่างง่ายๆ ของการปรับให้เป็นสากลได้ในไดเรกทอรี examples/api/i18n สำหรับ ตัวอย่างที่ครบถ้วน โปรดดู examples/extensions/news สำหรับตัวอย่างอื่นๆ และสำหรับความช่วยเหลือในการดู โปรดดูซอร์สโค้ดในตัวอย่าง

getMessage()

โค้ดต่อไปนี้จะได้รับข้อความที่แปลแล้วจากเบราว์เซอร์ และแสดงเป็นสตริง ทั้งนี้ แทนที่ตัวยึดตำแหน่งสองภายในข้อความด้วยสตริง "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."
    }
  }
}

โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับตัวยึดตำแหน่งในหน้าข้อความที่เจาะจงภาษา สำหรับรายละเอียดเกี่ยวกับ การเรียก 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

Chrome 47 ขึ้นไป

รหัสภาษา ISO เช่น en หรือ fr ดูรายการภาษาที่วิธีการนี้รองรับได้ที่ kLanguageInfoTable สำหรับภาษาที่ไม่รู้จัก ระบบจะแสดงผล und ซึ่งหมายความว่า CLD ไม่รู้จักข้อความ [percentage]

ประเภท

สตริง

เมธอด

detectLanguage()

สัญญา Chrome 47 ขึ้นไป
chrome.i18n.detectLanguage(
  text: string,
  callback?: function,
)

ตรวจหาภาษาของข้อความที่ให้ไว้โดยใช้ CLD

พารามิเตอร์

  • ข้อความ

    สตริง

    สตริงอินพุตของผู้ใช้ที่จะแปล

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (result: object) => void

    • ผลลัพธ์

      ออบเจ็กต์

      ออบเจ็กต์ LanguageDetectionResult ที่เก็บค่าความเชื่อถือได้ของภาษาและอาร์เรย์ของ DetectedLanguage

      • isReliable

        boolean

        CLD ตรวจพบความน่าเชื่อถือของภาษา

      • ภาษา

        object[]

        อาร์เรย์ของที่ตรวจพบLanguage

        • ภาษา

          สตริง

        • เปอร์เซ็นต์

          ตัวเลข

          เปอร์เซ็นต์ของภาษาที่ตรวจพบ

การคืนสินค้า

  • Promise&lt;object&gt;

    Chrome 99 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

getAcceptLanguages()

สัญญา
chrome.i18n.getAcceptLanguages(
  callback?: function,
)

รับภาษาที่ยอมรับของเบราว์เซอร์ ซึ่งแตกต่างจากภาษาที่เบราว์เซอร์ใช้ ในการค้นหาภาษา ให้ใช้ i18n.getUILanguage

พารามิเตอร์

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (languages: string[]) => void

    • ภาษา

      สตริง[]

      อาร์เรย์ของ LanguageCode

การคืนสินค้า

  • Promise&lt;LanguageCode[]&gt;

    Chrome 99 ขึ้นไป

    รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

getMessage()

chrome.i18n.getMessage(
  messageName: string,
  substitutions?: any,
  options?: object,
)

รับสตริงที่แปลแล้วสำหรับข้อความที่ระบุ หากไม่มีข้อความ เมธอดนี้จะแสดงสตริงว่างเปล่า ('') หากรูปแบบของการเรียก getMessage() ไม่ถูกต้อง ตัวอย่างเช่น messageName ไม่ใช่สตริง หรืออาร์เรย์ การแทนที่ มีองค์ประกอบมากกว่า 9 รายการ วิธีนี้แสดงผล undefined

พารามิเตอร์

  • messageName

    สตริง

    ชื่อข้อความตามที่ระบุไว้ในไฟล์ messages.json

  • การใช้แทน

    ใดก็ได้ไม่บังคับ

    สตริงทดแทนสูงสุด 9 สตริง หากข้อความต้องการสตริงใด

  • ตัวเลือก

    ออบเจ็กต์ไม่บังคับ

    Chrome 79 ขึ้นไป
    • escapeLt

      บูลีน ไม่บังคับ

      Escape < ในการแปลเป็น &lt; ซึ่งจะมีผลกับข้อความเท่านั้น ไม่ใช่ตัวยึดตำแหน่ง นักพัฒนาซอฟต์แวร์อาจต้องการใช้คำแปลนี้หากใช้คำแปลในบริบท HTML เทมเพลตการปิดที่ใช้กับคอมไพเลอร์ Closure จะสร้างเทมเพลตนี้โดยอัตโนมัติ

การคืนสินค้า

  • สตริง

    ข้อความได้รับการแปลสำหรับภาษาปัจจุบัน

getUILanguage()

chrome.i18n.getUILanguage()

รับภาษา UI เบราว์เซอร์ของเบราว์เซอร์ ซึ่งแตกต่างจาก i18n.getAcceptLanguages ซึ่งแสดงภาษาของผู้ใช้ที่ต้องการ

การคืนสินค้า

  • สตริง

    รหัสภาษา UI ของเบราว์เซอร์ เช่น en-US หรือ fr-FR