LanguageDetector: phương thức tĩnh availability()
Khả dụng hạn chế
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Phương thức tĩnh availability() của giao diện LanguageDetector trả về giá trị kiểu liệt kê cho biết liệu mô hình AI của trình duyệt có hỗ trợ cấu hình LanguageDetector đã cho hay không.
Cú pháp
LanguageDetector.availability(options)
Tham số
options-
Một đối tượng chỉ định các tùy chọn cấu hình cho
LanguageDetector. Các giá trị có thể bao gồm:expectedInputLanguages-
Một mảng các chuỗi chỉ định các ngôn ngữ dự kiến của văn bản đầu vào cần phát hiện ngôn ngữ. Đây phải là các thẻ ngôn ngữ BCP 47 hợp lệ. Mặc định là
["en"]
Giá trị trả về
Một Promise hoàn thành với giá trị kiểu liệt kê cho biết liệu hỗ trợ có sẵn (hoặc sẽ có sẵn) cho cấu hình LanguageDetector đã cho, hoặc null nếu không thể xác định hỗ trợ.
Các giá trị có thể bao gồm:
available-
Trình duyệt hỗ trợ cấu hình đã cho và có thể sử dụng ngay lập tức.
downloadable-
Trình duyệt hỗ trợ cấu hình đã cho, nhưng trước tiên cần tải xuống mô hình AI hoặc một số dữ liệu tinh chỉnh cho mô hình.
downloading-
Trình duyệt hỗ trợ cấu hình đã cho, nhưng phải hoàn thành một lần tải xuống đang diễn ra trước khi có thể tiến hành.
-
Trình duyệt không hỗ trợ cấu hình đã cho.
Ngoại lệ
InvalidStateErrorDOMException-
Được ném nếu
Documentcủa trang chưa hoạt động. OperationErrorDOMException-
Được ném nếu việc khởi tạo mô hình AI thất bại vì bất kỳ lý do nào.
UnknownErrorDOMException-
Được ném nếu cuộc gọi
availability()thất bại vì bất kỳ lý do nào khác, hoặc lý do mà tác nhân người dùng không muốn tiết lộ.
Nếu việc sử dụng phương thức bị chặn bởi language-detector Permissions-Policy, promise từ chối với giá trị unavailable.
Ví dụ
>Sử dụng cơ bản availability()
Trong đoạn mã sau, chúng ta bắt đầu bằng cách kiểm tra tính khả dụng của mô hình để phát hiện một số ngôn ngữ bằng phương thức availability():
- Nếu nó trả về
unavailable, chúng ta in thông báo lỗi thích hợp ra console. - Nếu nó trả về
available, chúng ta tạo trình phát hiện ngôn ngữ bằng phương thứccreate(), truyền cho nóexpectedInputLanguages. Mô hình AI cần thiết có sẵn, vì vậy chúng ta có thể sử dụng ngay. - Nếu nó trả về giá trị khác (tức là
downloadablehoặcdownloading), chúng ta chạy cùng lệnh gọicreate(), nhưng lần này chúng ta bao gồmmonitorghi lại phần trăm mô hình đã tải xuống mỗi khi sự kiệndownloadprogresskích hoạt.
async function getDetector(languages) {
const availability = await LanguageDetector.availability({
expectedInputLanguages: languages,
});
if (availability === "unavailable") {
console.log(`Detection not supported; try a different set of languages.`);
return undefined;
} else if (availability === "available") {
return await LanguageDetector.create({
expectedInputLanguages: languages,
});
}
return await LanguageDetector.create({
expectedInputLanguages: languages,
monitor(monitor) {
monitor.addEventListener("downloadprogress", (e) => {
console.log(`Downloaded ${Math.floor(e.loaded * 100)}%`);
});
},
});
}
const detector = await getDetector(["en-US", "zh"]);
Phát hiện hỗ trợ ngôn ngữ
async function langSupport(language) {
const availability = await LanguageDetector.availability({
expectedInputLanguages: [language],
});
return availability;
}
await langSupport("en");
await langSupport("pt");
await langSupport("zh");
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Translator and Language Detector APIs> # dom-languagedetector-availability> |