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

Xuất bản: 13 tháng 11 năm 2024, Cập nhật gần nhất: 20 tháng 5 năm 2025

Browser Support

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

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ữ chính 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ữ chính của họ và trang web của bạn có thể dịch tin nhắn của họ sang ngôn ngữ chính của nhân viên hỗ trợ trước khi tin nhắ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.

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, thì việc dịch phía máy khách sẽ giúp 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

Xem xét các yêu cầu về phần cứng

Các nhà phát triển và người dùng vận hành các tính năng bằng những API này trong Chrome phải đáp ứng các yêu cầu sau. Các trình duyệt khác có thể có các yêu cầu vận hành khác.

Language DetectorTranslator API hoạt động trong Chrome trên máy tính. Những API này không hoạt động trên thiết bị di động.

Prompt API, Summarizer API, Writer API, Rewriter APIProofreader 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); Linux; hoặc ChromeOS (từ Nền tảng 16389.0.0 trở lên) trên các thiết bị Chromebook Plus. Chrome dành cho Android, iOS và ChromeOS trên các thiết bị không phải Chromebook Plus chưa được các API sử dụng Gemini Nano hỗ trợ.
  • Bộ nhớ: Ít nhất 22 GB dung lượng trống trên ổ đĩa chứa hồ sơ Chrome của bạn.
  • GPU hoặc CPU: Các mô hình tích hợp có thể chạy bằng GPU hoặc CPU.
    • GPU: Hơn 4 GB VRAM.
    • CPU: 16 GB RAM trở lên và 4 lõi CPU trở lên.
    • Lưu ý: Prompt API có đầu vào âm thanh yêu cầu GPU.
  • Mạng: Dữ liệu không giới hạn hoặc kết nối không tính phí.

Kích thước chính xác của Gemini Nano có thể thay đổi khi trình duyệt cập nhật mô hình. Để xác định kích thước hiện tại, hãy truy cập vào chrome://on-device-internals.

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ù luôn biết ngôn ngữ đích để dịch, nhưng bạn có thể 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 được tích hợp vào Chrome và mô hình đượ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ữ

Việc 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 trạng thái kích hoạt 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ó hai trường, một cho sourceLanguage và một 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);
}

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 cầ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.

Để nhận được câu trả lời tốt nhất cho các yêu cầu của bạn, hãy gộp các yêu cầu đó lại 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. Bạn có thể uỷ quyền truy cập vào API 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ó sẵn 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 mỗi 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 gửi báo cáo lỗi hoặc yêu cầu về tính năng.