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

Ngày xuất bản: 13 tháng 11 năm 2024

Sử dụng Translator API trong Chrome để dịch văn bản trong trình duyệt bằng các mô hình AI cục bộ.

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ợ 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.

Phạm vi cung cấp

Mặc dù ngôn ngữ đích đã chọn luôn được biết, nhưng trong một số trường hợp, ngôn ngữ nguồn có thể không được biết, chẳng hạn như với nội dung do người dùng tạo. Trong những trường hợp như vậy, đề xuất về API Dịch bao gồm cả API Dịch và API Trình phát hiện ngôn ngữ, cũng có sẵn trong bản dùng thử theo nguyên gốc. Đăng ký cả hai bản dùng thử theo nguyên gốc để sử dụng các API này cùng nhau.

Đăng ký bản dùng thử theo nguyên gốc

Để bắt đầu sử dụng API Dịch, hãy làm theo các bước sau:

  1. Xác nhận Chính sách về các hành vi bị cấm khi sử dụng AI tạo sinh của Google.
  2. Truy cập vào bản dùng thử theo nguyên gốc Translator API.
  3. Nhấp vào Đăng ký rồi điền thông tin vào biểu mẫu.
    • Trong trường Nguồn gốc web, hãy cung cấp nguồn gốc hoặc mã tiện ích, chrome-extension://YOUR_EXTENSION_ID.
  4. Để gửi, hãy nhấp vào Đăng ký.
  5. Sao chép mã thông báo được cung cấp rồi thêm mã đó vào mọi trang web trên nguồn gốc hoặc tệp của Tiện ích mà bạn muốn bật bản dùng thử.
  6. Bắt đầu sử dụng Translator API.

Tìm hiểu thêm về cách bắt đầu sử dụng bản dùng thử theo nguồn gốc.

Thêm tính năng hỗ trợ cho máy chủ cục bộ

Để truy cập vào Translator API trên localhost trong thời gian dùng thử theo nguyên gốc, bạn phải cập nhật Chrome lên phiên bản mới nhất. Sau đó, thực hiện theo những bước sau:

  1. Mở Chrome trên một trong các nền tảng sau: Windows, Mac hoặc Linux.
  2. Chuyển đến chrome://flags/#translation-api.
  3. Chọn Bật.
    • Nếu bạn muốn thử nhiều cặp ngôn ngữ, hãy chọn Đã bật mà không có giới hạn về gói ngôn ngữ.
  4. Nhấp vào Chạy lại hoặc khởi động lại Chrome.

Sử dụng Translator API

Để xác định xem API Dịch có được hỗ trợ hay không, hãy chạy đoạn mã phát hiện tính năng sau.

if ('translation' in self && 'createTranslator' in self.translation) {
  // The Translator API is supported.
}

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. Các gói này được ghép nối với hàm canTranslate() không đồng bộ, cho phép bạn xác định xem một cặp ngôn ngữ có được hỗ trợ hay không.

Hàm canTranslate() yêu cầu tham số options có hai trường:

  • 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.

await translation.canTranslate({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});
// 'readily'

Hàm canTranslate() có thể trả về bất kỳ kết quả nào sau đây:

  • no: Trình duyệt này không thể dịch như yêu cầu.
  • readily: Trình duyệt có thể dịch theo yêu cầu.
  • after-download: Trình duyệt có thể thực hiện việc dịch, nhưng chỉ sau khi tải mô hình hoặc gói ngôn ngữ có liên quan xuống.

Bạn có thể theo dõi tiến trình tải xuống bằng sự kiện downloadprogress:

translator.ondownloadprogress = progressEvent => {
  updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};

Nếu quá trình tải xuống không thành công, thì các sự kiện downloadprogress sẽ ngừng phát 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 translation.createTranslator() không đồng bộ. Giống như canTranslate(), thành phần 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 self.translation.createTranslator({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});

Sau khi bạn có trình dịch, hãy gọi hàm translate() không đồng bộ để dịch văn bản.

await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"

Hạn chế trong bản dùng thử nguồn gốc

Các hạn chế sau đây sẽ áp dụng trong thời gian chạy bản dùng thử theo nguyên gốc.

Cặp ngôn ngữ được hỗ trợ

Hiện tại, bạn có thể tải tối đa 3 gói ngôn ngữ xuống để dịch. Chúng tôi cam kết mở rộng phạm vi ngôn ngữ được hỗ trợ trong các bản phát hành trong tương lai, đồng thời duy trì các tiêu chuẩn cao về quyền riêng tư của người dùng. Bạn có thể xác nhận xem cặp ngôn ngữ bạn cần có được hỗ trợ bằng hàm canTranslate() hay không.

Có thể một số cặp ngôn ngữ nhất định, ít được sử dụng hơn có thể được dùng để in vân tay. Ví dụ: việc dịch giữa tiếng Anh và tiếng Tây Ban Nha phổ biến hơn so với việc dịch giữa các ngôn ngữ ít phổ biến hơn, chẳng hạn như tiếng Gaelic và tiếng Catalan. Một cặp ngôn ngữ ít phổ biến hơn có thể được coi là một điểm dữ liệu để xác định người dùng.

Trong thời gian thử nghiệm theo nguyên gốc, chúng tôi sẽ giới hạn các cặp ngôn ngữ có thể dịch để bảo vệ quyền riêng tư của người dùng. Các cặp ngôn ngữ phải đáp ứng các tiêu chí sau:

  • Cả ngôn ngữ nguồn và ngôn ngữ đích đều được đặt làm ngôn ngữ ưu tiên trong Chrome.
  • Hoặc một trong các ngôn ngữ được đặt làm ngôn ngữ ưu tiên trong Chrome và ngôn ngữ còn lại nằm trong số các ngôn ngữ phổ biến sau:
    • Tiếng Anh (en)
    • Tiếng Trung Quan thoại (zh; giản thể) hoặc tiếng Quan thoại Đài Loan (zh-Hant; phồn thể)
    • Tiếng Nhật (ja)
    • Tiếng Bồ Đào Nha (pt)
    • Tiếng Nga (ru)
    • Tiếng Tây Ban Nha (es)
    • Tiếng Thổ Nhĩ Kỳ (tr)
    • Tiếng Hindi (hi)
    • Tiếng Việt (vi)
    • Tiếng Bengal (bn)

Bỏ qua các quy định hạn chế về ngôn ngữ để kiểm thử cục bộ

Đối với bản minh hoạ cục bộ, bạn có thể bỏ qua các bước kiểm tra này bằng cách chạy Chrome với tuỳ chọn dòng lệnh --disable-features=TranslationAPIAcceptLanguagesCheck. Ngoài ra, hãy đặt chrome://flags/#translation-api thành Bật mà không giới hạn gói ngôn ngữ.

Truy cập vào chrome://on-device-translation-internals/ để cài đặt và gỡ cài đặt gói ngôn ngữ theo cách thủ công.

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.

Để các yêu cầu dịch phản hồi nhanh nhất, hãy nhóm các yêu cầu đó lại với nhau và cân nhắc hiển thị 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.

Phạm vi cung cấp của worker web

Trong thời gian dùng thử theo nguyên gốc, Translator API chỉ được hỗ trợ từ luồng chính. Chúng tôi dự định hỗ trợ tính năng này trong worker web sau khi API được cung cấp rộng rãi.

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à đã 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 MozillaWebKit về quan điểm của họ đối với các tiêu chuẩn.

Tham gia và chia sẻ ý kiến phản hồi

Hãy bắt đầu thử nghiệm API Dịch ngay bằng cách tham gia chương trình dùng thử phiên bản gốc và chia sẻ ý kiến phản hồi của bạn. Ý kiến đóng góp của bạn có thể tác động trực tiếp đến cách chúng tôi xây dựng và triển khai các phiên bản trong tương lai của API này cũng như tất cả các API AI tích hợp.