Перевод со встроенным ИИ

Опубликовано: 13 ноября 2024 г., Последнее обновление: 20 мая 2025 г.

Объяснитель Интернет Расширения Статус Chrome Намерение
МДН Хром 138 Хром 138 Вид Намерение отправить

Используйте API переводчика в Chrome для перевода текста с помощью моделей ИИ, предоставленных в браузере.

Возможно, ваш сайт уже предлагает контент на нескольких языках, что делает его доступным для глобальной аудитории. С помощью API переводчика пользователи могут вносить свой вклад на своём родном языке. Например, пользователи могут участвовать в чатах поддержки на своём родном языке, а ваш сайт может перевести контент на язык, используемый вашими специалистами службы поддержки, прежде чем он покинет устройство пользователя. Это обеспечивает удобный, быстрый и инклюзивный опыт для всех пользователей.

Перевод веб-контента обычно требует использования облачных сервисов. Сначала исходный контент загружается на сервер, который выполняет перевод на целевой язык, а затем полученный текст скачивается и возвращается пользователю. Выполняя перевод на стороне клиента, вы экономите время, необходимое для обращения к серверу, и расходы на хостинг сервиса перевода.

Начать

API переводчика доступен в стабильной версии Chrome 138. Сначала запустите функцию обнаружения, чтобы проверить, поддерживает ли браузер API переводчика.

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

Хотя вы всегда знаете целевой язык перевода, вы не всегда знаете исходный язык. В таких случаях вы можете воспользоваться API определения языка .

Ознакомьтесь с требованиями к оборудованию

Для разработчиков и пользователей, использующих эти API в Chrome, действуют следующие требования. Требования к работе других браузеров могут отличаться.

API определения языка и переводчика работают в Chrome на десктопе. Эти API не работают на мобильных устройствах. API Prompt, API Summarizer, API Writer и API Rewriter работают в Chrome при соблюдении следующих условий:

  • Операционная система : Windows 10 или 11; macOS 13+ (Ventura и выше); или Linux. Chrome для Android, iOS и ChromeOS пока не поддерживаются API, использующими Gemini Nano.
  • Хранилище : не менее 22 ГБ свободного места на томе, содержащем ваш профиль Chrome.
  • Видеокарта : строго более 4 ГБ видеопамяти.
  • Сеть : Безлимитные данные или безлимитное соединение.

Точный размер Gemini Nano может меняться по мере обновления модели браузером. Чтобы узнать текущий размер, посетите chrome://on-device-internals и перейдите в раздел «Статус модели» . Откройте указанный путь к файлу , чтобы узнать размер модели.

Проверьте поддержку языковой пары

Перевод осуществляется с помощью языковых пакетов, загружаемых по запросу. Языковой пакет — это своего рода словарь для определённого языка.

  • sourceLanguage : Текущий язык текста.
  • targetLanguage : Конечный язык, на который следует перевести текст.

Используйте в качестве строк короткие коды языков BCP 47. Например, 'es' для испанского или 'fr' для французского.

const translatorCapabilities = await Translator.availability({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
});
// 'available'

Функция availability() возвращает обещание со следующими значениями:

  • "unavailable" : реализация не поддерживает перевод или определение языка для указанных языков.
  • "downloadable" : реализация поддерживает перевод или определение языка для указанных языков, но для продолжения требуется загрузка. Загружаемой может быть модель браузера.
  • "downloading" : Реализация поддерживает перевод или определение языка для указанных языков. Браузер завершает текущую загрузку в рамках создания соответствующего объекта.
  • "available" : реализация поддерживает перевод или определение языка для указанных языков, и все необходимые загрузки уже завершены.

Отслеживайте ход загрузки модели с помощью события downloadprogress :

const translator = await Translator.create({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
});

Если загрузка не удалась, то события downloadprogress останавливаются и обещание ready отклоняется.

Создайте и запустите переводчик

Чтобы создать переводчик, вызовите асинхронную функцию create() . Для неё требуется параметр options с двумя полями: одно для sourceLanguage ) и одно для targetLanguage ).

// Create a translator that translates from English to French.
const translator = await Translator.create({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});

Как только у вас появится переводчик, вызовите асинхронный translate() .

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

В качестве альтернативы, если вам нужно работать с более длинными текстами, вы также можете использовать потоковую версию API и вызвать translateStreaming() .

const stream = translator.translateStreaming(longText);
for await (const chunk of stream) {
  console.log(chunk);
}

Последовательные переводы

Переводы обрабатываются последовательно. Если вы отправляете на перевод большой объём текста, последующие переводы блокируются до завершения предыдущих.

Для лучшего ответа на ваши запросы объединяйте их и добавляйте интерфейс загрузки , например, вращающийся индикатор, чтобы показать, что перевод продолжается.

Демо

API переводчика, используемый в сочетании с API детектора языка, можно увидеть на игровой площадке API переводчика и детектора языка .

Стандартизация усилий

Мы работаем над стандартизацией API переводчика, чтобы обеспечить кроссбраузерную совместимость.

Наше предложение по API получило поддержку сообщества и было передано в группу сообщества W3C Web Incubator для дальнейшего обсуждения. Команда Chrome запросила обратную связь от группы технической архитектуры W3C и обратилась к Mozilla и WebKit с просьбой высказать свою позицию по стандартам.

Вы можете принять участие в работе по разработке стандартов, присоединившись к группе сообщества Web Incubator .

Поделитесь отзывом

Мы хотим увидеть, что вы создаёте с помощью API определения языка. Поделитесь с нами своими веб-сайтами и веб-приложениями на X , YouTube и LinkedIn .

Чтобы оставить отзыв о реализации Chrome, отправьте отчет об ошибке или запрос на новую функцию .