การแปลด้วย AI ในตัว

เผยแพร่เมื่อวันที่ 13 พฤศจิกายน 2024

ใช้ Translator API ใน Chrome เพื่อแปลข้อความในเบราว์เซอร์โดยใช้โมเดล AI ในเครื่อง

เว็บไซต์ของคุณอาจนำเสนอเนื้อหาในหลายภาษาอยู่แล้วเพื่อให้ผู้ชมทั่วโลกเข้าถึงได้ Translator API ช่วยให้ผู้ใช้มีส่วนร่วมได้โดยใช้ภาษาแม่ ตัวอย่างเช่น ผู้ใช้สามารถเข้าร่วมแชทสนับสนุนเป็นภาษาแรกได้ และเว็บไซต์สามารถแปลเป็นภาษาที่ตัวแทนฝ่ายสนับสนุนใช้ก่อนที่จะส่งออกจากอุปกรณ์ของผู้ใช้ ซึ่งจะมอบประสบการณ์การใช้งานที่ราบรื่น รวดเร็ว และครอบคลุมสำหรับผู้ใช้ทุกคน

โดยทั่วไปแล้ว การแปลเนื้อหาบนเว็บต้องใช้บริการระบบคลาวด์ ขั้นแรก ระบบจะอัปโหลดเนื้อหาต้นทางไปยังเซิร์ฟเวอร์ ซึ่งจะทำการแปลเป็นภาษาเป้าหมาย จากนั้นระบบจะดาวน์โหลดข้อความที่ได้และแสดงต่อผู้ใช้ การใช้การแปลในไคลเอ็นต์จะช่วยประหยัดเวลาในการเรียกใช้เซิร์ฟเวอร์และค่าใช้จ่ายในการโฮสต์บริการแปล

ความพร้อมใช้งาน

แม้ว่าระบบจะทราบภาษาเป้าหมายที่เลือกเสมอ แต่ในบางสถานการณ์ ระบบอาจไม่ทราบว่าภาษาต้นฉบับคืออะไร เช่น เนื้อหาที่ผู้ใช้สร้างขึ้น ในกรณีเช่นนี้ ข้อเสนอ Translator API จะรวมทั้ง Translator API และ Language Detector API ซึ่งพร้อมใช้งานในช่วงทดลองใช้จากต้นทางด้วย ลงชื่อสมัครใช้ช่วงทดลองใช้จากต้นทางทั้ง 2 รายการเพื่อใช้ API เหล่านี้ร่วมกัน

ลงชื่อสมัครทดลองใช้จากต้นทาง

หากต้องการเริ่มใช้ Translator API ให้ทำตามขั้นตอนต่อไปนี้

  1. รับทราบนโยบายการใช้งานที่ไม่อนุญาตสำหรับ Generative AI ของ Google
  2. ไปที่ช่วงทดลองใช้ Translator API จากต้นทาง
  3. คลิกลงทะเบียน แล้วกรอกแบบฟอร์ม
    • ในช่องต้นทางของเว็บ ให้ระบุต้นทางหรือรหัสส่วนขยาย chrome-extension://YOUR_EXTENSION_ID
  4. คลิกลงทะเบียนเพื่อส่งข้อมูล
  5. คัดลอกโทเค็นที่ระบุ แล้วเพิ่มลงในหน้าเว็บทุกหน้าในต้นทางหรือไฟล์ของส่วนขยายที่คุณต้องการเปิดใช้ช่วงทดลองใช้
  6. เริ่มใช้ Translator API

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีเริ่มต้นใช้งานการทดสอบต้นทาง

เพิ่มการรองรับ localhost

หากต้องการเข้าถึง Translator API ใน localhost ในระหว่างช่วงทดลองใช้จากต้นทาง คุณต้องอัปเดต Chrome เป็นเวอร์ชันล่าสุด จากนั้น ดำเนินการตามขั้นตอนเหล่านี้:

  1. เปิด Chrome ในแพลตฟอร์ม Windows, Mac หรือ Linux
  2. ไปที่ chrome://flags/#translation-api
  3. เลือกเปิดใช้
    • หากต้องการลองใช้คู่ภาษาหลายคู่ ให้เลือกเปิดใช้โดยไม่มีขีดจํากัดของแพ็กภาษา
  4. คลิกเปิดใหม่หรือรีสตาร์ท Chrome

ใช้ Translator API

หากต้องการตรวจสอบว่าระบบรองรับ Translator API หรือไม่ ให้เรียกใช้สnippet การตรวจหาฟีเจอร์ต่อไปนี้

if ('translation' in self && 'createTranslator' in self.translation) {
  // The Translator API is supported.
}

ตรวจสอบการรองรับคู่ภาษา

การจัดการการแปลจะดำเนินการด้วยแพ็กภาษาที่ดาวน์โหลดตามคําขอ แพ็กเกจภาษาเปรียบเสมือนพจนานุกรมสำหรับภาษาหนึ่งๆ แพ็กเหล่านี้จะจับคู่กับฟังก์ชัน canTranslate() แบบไม่พร้อมกัน ซึ่งจะช่วยให้คุณระบุได้ว่าระบบรองรับคู่ภาษาหรือไม่

ฟังก์ชัน canTranslate() ต้องใช้พารามิเตอร์ options ที่มี 2 ช่อง ดังนี้

  • 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 promise

สร้างและเรียกใช้โปรแกรมแปล

หากต้องการสร้างตัวแปล ให้เรียกใช้translation.createTranslator() ฟังก์ชันแบบแอซิงโครนัส เช่นเดียวกับ canTranslate() ต้องใช้พารามิเตอร์ options ที่มี 2 ช่อง ได้แก่ 1 ช่องสําหรับ sourceLanguage และอีก 1 ช่องสําหรับ 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 ?"

ข้อจํากัดในการทดลองใช้ต้นทาง

ข้อจํากัดต่อไปนี้จะมีผลระหว่างช่วงทดลองใช้จากต้นทาง

คู่ภาษาที่รองรับ

ขณะนี้คุณดาวน์โหลดแพ็กภาษาเพื่อใช้ในการแปลได้สูงสุด 3 แพ็ก เรามุ่งมั่นที่จะขยายช่วงภาษาที่รองรับในรุ่นต่อๆ ไป ขณะเดียวกันก็รักษามาตรฐานความเป็นส่วนตัวของผู้ใช้ในระดับสูง คุณสามารถตรวจสอบว่าระบบรองรับคู่ภาษาที่ต้องการหรือไม่ด้วยฟังก์ชัน canTranslate()

ระบบอาจใช้คู่ภาษาบางคู่ที่ใช้ไม่บ่อยนักเพื่อการพิมพ์ลายนิ้วมือ ตัวอย่างเช่น การแปลระหว่างภาษาอังกฤษกับภาษาสเปนนั้นพบได้บ่อยกว่าการแปลระหว่างภาษาที่ไม่พบบ่อย เช่น ภาษากาลิคและภาษาคาตาลัน คู่ภาษาที่พบไม่บ่อยนักอาจถือเป็นจุดข้อมูลสำหรับการระบุผู้ใช้

ในระหว่างช่วงทดลองใช้ต้นทาง เราจะจำกัดคู่ภาษาที่อาจแปลได้เพื่อปกป้องความเป็นส่วนตัวของผู้ใช้ คู่ภาษาต้องเป็นไปตามเกณฑ์ต่อไปนี้

  • ทั้งภาษาต้นทางและปลายทางได้รับการตั้งค่าเป็นภาษาที่ต้องการใน Chrome
  • หรือมีการตั้งค่าภาษาใดภาษาหนึ่งเป็นภาษาที่ต้องการใน Chrome และอีกภาษาหนึ่งเป็นภาษายอดนิยมต่อไปนี้
    • อังกฤษ (en)
    • จีนกลาง (zh ตัวย่อ) หรือจีนกลางไต้หวัน (zh-Hant ตัวเต็ม)
    • ญี่ปุ่น (ja)
    • โปรตุเกส (pt)
    • รัสเซีย (ru)
    • สเปน (es)
    • ตุรกี (tr)
    • ฮินดี (hi)
    • เวียดนาม (vi)
    • เบงกอล (bn)

ข้ามข้อจำกัดด้านภาษาสำหรับการทดสอบในเครื่อง

สําหรับการทดสอบเวอร์ชันต้นแบบในเครื่อง คุณสามารถข้ามการตรวจสอบเหล่านี้ได้โดยเรียกใช้ Chrome ด้วยตัวเลือกบรรทัดคําสั่ง --disable-features=TranslationAPIAcceptLanguagesCheck หรือตั้งค่า chrome://flags/#translation-api เป็นเปิดใช้โดยไม่จำกัดจำนวนแพ็กภาษา

โปรดไปที่ chrome://on-device-translation-internals/ เพื่อติดตั้งและถอนการติดตั้งแพ็กภาษาด้วยตนเอง

คำแปลตามลำดับ

ระบบจะประมวลผลการแปลตามลำดับ หากคุณส่งข้อความจำนวนมากให้แปล ระบบจะบล็อกการแปลข้อความที่ส่งมาภายหลังจนกว่าการแปลข้อความก่อนหน้าจะเสร็จสมบูรณ์

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

ความพร้อมใช้งานของผู้ปฏิบัติงานเกี่ยวกับเว็บ

ในช่วงทดลองใช้จากต้นทาง Translator API จะรองรับเฉพาะจากชุดข้อความหลักเท่านั้น เราตั้งใจที่จะรองรับในเว็บเวิร์กเกอร์เมื่อ API พร้อมให้บริการอย่างแพร่หลาย

สาธิต

คุณจะเห็น Translator API ซึ่งใช้ร่วมกับ Language Detector API ในPlayground ของ Translator และ Language Detector API

ความพยายามในการทำให้มาตรฐาน

เรากําลังพยายามทำให้ Translator API เป็นมาตรฐานเดียวกัน เพื่อให้ใช้งานร่วมกันได้กับเบราว์เซอร์ต่างๆ

ข้อเสนอ API ของเราได้รับการสนับสนุนจากชุมชนและได้ย้ายไปยังกลุ่มชุมชน Web Incubator ของ W3C เพื่อพูดคุยกันต่อ ทีม Chrome ได้ขอความคิดเห็นจากกลุ่มสถาปัตยกรรมทางเทคนิคของ W3C และสอบถามMozilla และ WebKit เกี่ยวกับจุดยืนด้านมาตรฐาน

เข้าร่วมและแชร์ความคิดเห็น

เริ่มทดสอบ Translator API ได้เลยโดยเข้าร่วมช่วงทดลองใช้เวอร์ชันต้นฉบับและแชร์ความคิดเห็นของคุณ ความคิดเห็นของคุณจะส่งผลโดยตรงต่อวิธีที่เราสร้างและใช้งาน API เวอร์ชันอนาคตของ API นี้และ API AI ในตัวทั้งหมด