Dịch bằng AI tích hợp sẵn

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

Browser Support

  • Chrome: 138.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: not supported.

Source

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 DetectorTranslator 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()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.

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.