Language Detector API เป็น Web API ฝั่งไคลเอ็นต์ที่ออกแบบมาเพื่อระบุภาษาของสตริงข้อความที่ระบุ การตรวจจับในเบราว์เซอร์จะช่วยเพิ่มความเป็นส่วนตัวของผู้ใช้ และลดความจำเป็นในการใช้ไลบรารีภายนอกขนาดใหญ่หรือการเรียกฝั่งเซิร์ฟเวอร์ที่มีค่าใช้จ่ายสูง
กรณีการใช้งานหลัก
- การเตรียมการแปล: การระบุภาษาต้นฉบับก่อนส่งข้อความไปยังนักแปล
- ความปลอดภัยและการกรอง: การโหลดโมเดลที่เฉพาะเจาะจงสำหรับงานต่างๆ เช่น การตรวจหาเนื้อหาที่เป็นพิษ
- การช่วยเหลือพิเศษ: การติดป้ายกำกับเนื้อหาด้วยแอตทริบิวต์
langที่ถูกต้องสำหรับโปรแกรมอ่านหน้าจอ - การแปล UI: ปรับอินเทอร์เฟซแอปพลิเคชันตามภาษาที่ผู้ใช้ป้อน
ข้อกำหนดด้านฮาร์ดแวร์และข้อกำหนดของระบบ
- ระบบปฏิบัติการ: Windows 10/11, macOS 13 ขึ้นไป, Linux หรือ Chromebook Plus
- พื้นที่เก็บข้อมูล: พื้นที่ว่าง 22 GB (ระบบจะนำโมเดลออกหากพื้นที่ว่างเหลือน้อยกว่า 10 GB)
- RAM/CPU: RAM 16 GB และ CPU 4 คอร์ขึ้นไป
- VRAM: 4 GB ขึ้นไปหากใช้ GPU
คู่มือการติดตั้งใช้งาน
1. การจัดการโมเดลและการเปิดใช้งานของผู้ใช้
ตรวจสอบความพร้อมใช้งานของโมเดลก่อนพยายามสร้างอินสแตนซ์ของตัวตรวจจับหรือทริกเกอร์การดาวน์โหลด
บังคับ: การสร้างอินสแตนซ์เครื่องมือตรวจจับภาษาหรือการทริกเกอร์การดาวน์โหลดโมเดลด้วย LanguageDetector.create() ต้องเริ่มต้นด้วยท่าทางผู้ใช้ (เช่น การคลิกปุ่ม) เพื่อป้องกัน NotAllowedError เมื่อโมเดลอยู่ในสถานะ downloadable หรือ downloading
// Check if the model is available or downloadable
const availability = await LanguageDetector.availability();
if (availability !== 'unavailable') {
button.addEventListener('click', async () => {
const detector = await LanguageDetector.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
});
}
2. การตรวจจับการวิ่ง
API จะแสดงรายการภาษาที่เป็นไปได้ซึ่งจัดอันดับแล้วพร้อมคะแนนความเชื่อมั่นระหว่าง 0.0 ถึง 1.0
const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
// result.detectedLanguage (e.g., 'de')
// result.confidence (e.g., 0.999)
console.log(result.detectedLanguage, result.confidence);
}
หลีกเลี่ยงการใช้เครื่องมือตรวจจับกับวลีที่สั้นมากหรือคำเดี่ยวๆ เนื่องจากความแม่นยำจะลดลงอย่างมาก
ความปลอดภัยและสภาพแวดล้อม
Iframe: Iframe แบบข้ามต้นทางต้องมีนโยบายสิทธิ์ที่ชัดเจนเพื่อเข้าถึง API
<iframe src="https://cross-origin.example.com/" allow="language-detector" ></iframe>Web Workers: ปัจจุบัน API ไม่พร้อมใช้งานใน Web Workers เนื่องจากความซับซ้อนของนโยบายสิทธิ์
ความเป็นส่วนตัว: ระบบจะไม่ส่งข้อมูลไปยัง Google หรือบุคคลที่สามในระหว่างกระบวนการตรวจจับ
กลยุทธ์สำรอง
ก่อนใช้งาน ให้ตรวจสอบว่าออบเจ็กต์ LanguageDetector พร้อมใช้งานในขอบเขตส่วนกลางหรือไม่ โดยทำดังนี้
if ('LanguageDetector' in self) {
// The Language Detector API is supported.
} else {
// Execute fallback strategy
}
หากระบบไม่รองรับ LanguageDetector API หรือการตรวจสอบความพร้อมใช้งานแสดงผลเป็น 'unavailable' คุณต้องสำรองข้อมูลอย่างราบรื่น โดยทำดังนี้
- Remote API Fallback: เปลี่ยนเส้นทางคำขอตรวจจับไปยังปลายทางของเซิร์ฟเวอร์หรือ Cloud API (เช่น Vertex AI Gemini API) เพื่อระบุภาษา
- การลดลงอย่างค่อยเป็นค่อยไป: ปิดใช้องค์ประกอบ/ปุ่มการตรวจหาภาษาและแจ้งให้ผู้ใช้ทราบว่าเบราว์เซอร์นี้ไม่รองรับการตรวจหาฝั่งไคลเอ็นต์ในขณะนี้ เพื่อป้องกันข้อยกเว้นหรือข้อขัดข้องที่ไม่ได้จัดการ