Ngày xuất bản: 13 tháng 11 năm 2024, Ngày cập nhật gần đây nhất: 20 tháng 5 năm 2025
Video giải thích | Web | Phần mở rộng | Trạng thái của Chrome | Intent |
---|---|---|---|---|
MDN | Xem | Ý định thử nghiệm |
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 bằng nhiều ngôn ngữ để khán giả trên toàn cầu có thể truy cập. Với Translator API, người dùng có thể đóng góp bằng ngôn ngữ mẹ đẻ. Ví dụ: người dùng có thể tham gia 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 cuộc trò chuyện đó sang ngôn ngữ mà nhân viên hỗ trợ của bạn sử dụng trước khi cuộc trò chuyện 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.
Thông thường, để dịch nội dung trên web, bạn phải 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ữ mục tiêu, sau đó văn bản kết quả được tải xuống và trả về cho người dùng. Bằng cách chạy tính năng dịch trên ứng dụng, bạn sẽ tiết kiệm được thời gian cần thiết cho các lượt truy cập máy chủ và chi phí lưu trữ dịch vụ dịch.
Bắt đầu
Translator API có sẵn từ phiên bản Chrome 138 ổn định. Trước tiên, hãy chạy tính năng phát hiện để xem trình duyệt có hỗ trợ API Dịch 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 bạn không phải lúc nào cũng biết ngôn ngữ nguồn. Trong những trường hợp như vậy, bạn có thể sử dụng Language Detector API (API Trình phát hiện ngôn ngữ).
Xem xét các yêu cầu về phần cứng
API Trình phát hiện ngôn ngữ và API Dịch chỉ hoạt động trên máy tính trong Chrome.
Prompt API, Summarizer API, Writer API và Rewriter API hoạt động trong Chrome khi đáp ứng các điều kiện sau:
- Hệ điều hành: Windows 10 hoặc 11; macOS 13 trở lên (Ventura trở lên); hoặc Linux. Chrome dành cho Android, iOS và ChromeOS chưa được các API của chúng tôi hỗ trợ Gemini Nano.
- Dung lượng lưu trữ: Ít nhất 22 GB trên phương tiện lưu trữ chứa hồ sơ Chrome của bạn.
- GPU: VRAM phải lớn hơn 4 GB.
- Mạng: Dữ liệu không giới hạn hoặc kết nối không đo lượng dữ liệu.
Các yêu cầu này dành cho bạn trong quá trình phát triển và dành cho người dùng sử dụng các tính năng mà bạn xây dựng.
Kiểm tra khả năng hỗ trợ cặp ngôn ngữ
Hoạt động 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 sẽ được dịch sang.
Sử dụng mã ngôn ngữ ngắn BCP 47 dưới dạng 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'
Hàm availability()
trả về một lời hứa có các giá trị sau:
"unavailable"
: Phương thức triển khai không hỗ trợ tính năng dịch hoặc phát hiện ngôn ngữ của các ngôn ngữ đã cho."downloadable"
: Phương thức triển khai hỗ trợ tính năng dịch hoặc phát hiện ngôn ngữ của các ngôn ngữ đã cho, nhưng bạn phải tải xuống để tiếp tục. Tệp tải xuống có thể là mô hình trình duyệt."downloading"
: Phương thức triển khai hỗ trợ tính năng dịch hoặc phát hiện ngôn ngữ của các ngôn ngữ nhất định. Trình duyệt đang hoàn tất một quá trình tải xuống đang diễn ra, trong quá trình tạo đối tượng được liên kết."available"
: Phương thức triển khai hỗ trợ tính năng dịch hoặc phát hiện ngôn ngữ của các ngôn ngữ đã cho và mọi tệp tải xuống bắt buộc đều đã hoàn tất.
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 gọi hàm create()
không đồng bộ. Phương thức này yêu cầu một tham số tuỳ chọn có hai 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 bạn 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 ?"
Bản dịch tuần tự
Các 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 để dịch, thì 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.
Để phản hồi tốt 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ư một vòng quay, để cho biết rằng quá trình dịch đang diễn ra.
Bản minh hoạ
Bạn có thể thấy Translator API, được sử dụng kết hợp với API Trình phát hiện ngôn ngữ, trong Translator and Language Detector API playground (Khu vui chơi API Translator và Language Detector).
Nỗ lực chuẩn hoá
Chúng tôi đang nỗ lực chuẩn hoá Translator API để đảm bảo khả năng tương thích trên nhiều trình duyệt.
Đề xuất API của chúng tôi đã nhận được sự hỗ trợ của cộng đồng và được chuyển sang Nhóm cộng đồng ươm tạo web của W3C để thảo luận thêm. Nhóm Chrome đã yêu cầu ý kiến phản hồi từ Nhóm cấu trúc kỹ thuật W3C và hỏi Mozilla và WebKit về quan điểm của họ đối với các tiêu chuẩn.
Bạn có thể tham gia nỗ lực xây dựng tiêu chuẩn này bằng cách tham gia Nhóm cộng đồng của Web Incubator.
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 bằng API Trình phát hiện ngôn 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 Chrome, hãy gửi báo cáo lỗi hoặc yêu cầu về tính năng.