Xuất bản: Ngày 13 tháng 11 năm 2024, Cập nhật gần nhất: Ngày 20 tháng 5 năm 2025
Sử dụng Translator API trong Chrome để dịch văn bản bằng các mô hình AI được cung cấp trong trình duyệt.
Trang web của bạn có thể đã cung cấp nội dung trang web bằng nhiều ngôn ngữ. Với Translator API, người dùng có thể viết bằng ngôn ngữ đầu tiên của họ. Ví dụ: người dùng có thể tham gia các cuộc trò chuyện hỗ trợ bằng ngôn ngữ đầu tiên của họ và trang web của bạn có thể dịch thông báo của họ sang ngôn ngữ đầu tiên của nhân viên hỗ trợ, trước khi thông báo rời khỏi thiết bị của người dùng. Điều này tạo ra trải nghiệm mượt mà, nhanh chóng và toàn diện cho tất cả người dùng.
Việc dịch nội dung web thường yêu cầu sử dụng dịch vụ đám mây. Trước tiên, nội dung nguồn được tải lên một máy chủ chạy bản dịch sang ngôn ngữ đích, sau đó văn bản kết quả được tải xuống và trả về cho người dùng. Khi nội dung chỉ tồn tại trong thời gian ngắn và không đảm bảo việc lưu vào cơ sở dữ liệu, bản dịch phía máy khách sẽ tiết kiệm thời gian và chi phí so với dịch vụ dịch được lưu trữ.
Bắt đầu
Language Detector và Translator API hoạt động trong Chrome trên máy tính. Các API này không hoạt động trên thiết bị di động.
Chạy tính năng phát hiện để xem trình duyệt có hỗ trợ Translator API hay không.
if ('Translator' in self) {
// The Translator API is supported.
}
Mặc dù bạn luôn biết ngôn ngữ đích cho bản dịch, nhưng có thể bạn không phải lúc nào cũng biết ngôn ngữ gốc. Trong trường hợp như vậy, bạn có thể sử dụng Language Detector API.
Tải mô hình xuống
Translator API sử dụng một mô hình chuyên gia được huấn luyện để tạo bản dịch chất lượng cao. API này được tích hợp vào Chrome và mô hình này được tải xuống lần đầu tiên một trang web sử dụng API này.
Để xác định xem mô hình đã sẵn sàng sử dụng hay chưa, hãy gọi hàm không đồng bộ
Translator.availability().
Nếu phản hồi cho availability() là downloadable, hãy theo dõi tiến trình tải xuống để thông báo cho người dùng về tiến trình này, vì có thể mất thời gian.
Kiểm tra khả năng hỗ trợ cặp ngôn ngữ
Bản dịch được quản lý bằng các gói ngôn ngữ, được tải xuống theo yêu cầu. Gói ngôn ngữ giống như một từ điển cho một ngôn ngữ nhất định.
sourceLanguage: Ngôn ngữ hiện tại của văn bản.targetLanguage: Ngôn ngữ cuối cùng mà văn bản cần được dịch sang.
Sử dụng mã ngắn ngôn ngữ BCP 47 làm
chuỗi. Ví dụ: 'es' cho tiếng Tây Ban Nha hoặc 'fr' cho tiếng Pháp.
const translatorCapabilities = await Translator.availability({
sourceLanguage: 'es',
targetLanguage: 'fr',
});
// 'available'
Theo dõi tiến trình tải mô hình xuống bằng sự kiện downloadprogress:
const translator = await Translator.create({
sourceLanguage: 'es',
targetLanguage: 'fr',
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
Nếu quá trình tải xuống không thành công, thì các sự kiện downloadprogress sẽ dừng và lời hứa ready sẽ bị từ chối.
Tạo và chạy trình dịch
Để tạo trình dịch, hãy kiểm tra hoạt động của người dùng và gọi hàm không đồng bộ.create() Hàm create() của Trình dịch yêu cầu một tham số tuỳ chọn có 2 trường, một trường cho sourceLanguage và một trường cho targetLanguage.
// Create a translator that translates from English to French.
const translator = await Translator.create({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
Sau khi có trình dịch, hãy gọi translate() không đồng bộ.
await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"
Ngoài ra, nếu cần xử lý văn bản dài hơn, bạn cũng có thể sử dụng phiên bản truyền trực tuyến của API và gọi translateStreaming().
const stream = translator.translateStreaming(longText);
for await (const chunk of stream) {
console.log(chunk);
}
Bản dịch tuần tự
Bản dịch được xử lý tuần tự. Nếu bạn gửi một lượng lớn văn bản cần dịch, các bản dịch tiếp theo sẽ bị chặn cho đến khi các bản dịch trước đó hoàn tất.
Để nhận được câu trả lời phù hợp nhất cho các yêu cầu của bạn, hãy nhóm các yêu cầu đó lại với nhau và thêm một giao diện tải, chẳng hạn như vòng quay, để cho biết rằng quá trình dịch đang diễn ra.
Ngôn ngữ được hỗ trợ
Các ngôn ngữ sau đây được hỗ trợ bởi việc triển khai Translator API của Chrome.
| Mã | Ngôn ngữ |
|---|---|
ar |
Tiếng Ả Rập |
bg |
Tiếng Bungary |
bn |
Tiếng Bengal |
cs |
Tiếng Séc |
da |
Tiếng Đan Mạch |
de |
Tiếng Đức |
el |
Tiếng Hy Lạp |
en |
Tiếng Anh |
es |
Tiếng Tây Ban Nha |
fi |
Tiếng Phần Lan |
fr |
Tiếng Pháp |
hi |
Tiếng Hindi |
hr |
Tiếng Croatia |
hu |
Tiếng Hungary |
id |
Tiếng Indonesia |
it |
Tiếng Ý |
iw |
Tiếng Do Thái |
ja |
Tiếng Nhật |
kn |
Tiếng Kannada |
ko |
Tiếng Hàn |
lt |
Tiếng Lithuania |
mr |
Tiếng Marathi |
nl |
Tiếng Hà Lan |
no |
Tiếng Na Uy |
pl |
Tiếng Ba Lan |
pt |
Tiếng Bồ Đào Nha |
ro |
Tiếng Rumani |
ru |
Tiếng Nga |
sk |
Tiếng Slovak |
sl |
Tiếng Slovenia |
sv |
Tiếng Thuỵ Điển |
ta |
Tiếng Tamil |
te |
Tiếng Telugu |
th |
Tiếng Thái |
tr |
Tiếng Thổ Nhĩ Kỳ |
uk |
Tiếng Ukraina |
vi |
Tiếng Việt |
zh |
Tiếng Trung |
zh-Hant |
Tiếng Trung (Phồn thể) |
Bản minh hoạ
Bạn có thể xem Translator API, được sử dụng kết hợp với Language Detector API, trong sân chơi Translator và Language Detector API.
Chính sách về quyền, iframe và Web Worker
Theo mặc định, Translator API chỉ có sẵn cho các cửa sổ cấp cao nhất và cho các iframe cùng nguồn gốc. Quyền truy cập vào API có thể được uỷ quyền cho các iframe khác nguồn gốc
bằng cách sử dụng thuộc tính Chính sách về quyền
allow="":
<!--
The host site https://main.example.com can grant a cross-origin iframe
at https://cross-origin.example.com/ access to the Translator API by
setting the `allow="translator"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="translator"></iframe>
Translator API không có trong Web Worker, do sự phức tạp của việc thiết lập một tài liệu chịu trách nhiệm cho từng worker, để kiểm tra trạng thái tuân thủ chính sách.
Chia sẻ ý kiến phản hồi
Chúng tôi muốn xem những gì bạn đang xây dựng. Chia sẻ trang web và ứng dụng web của bạn với chúng tôi trên X, YouTube, và LinkedIn.
Để gửi ý kiến phản hồi về việc triển khai của Chrome, hãy báo cáo lỗi hoặc yêu cầu về tính năng.