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

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

Browser Support

  • Chrome: 138.
  • Edge: не поддерживается.
  • Firefox: не поддерживается.
  • Safari: не поддерживается.

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

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

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

Начать

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

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

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

API-интерфейсы Prompt , Summarizer , Writer , Rewriter и Proofreader работают в Chrome при соблюдении следующих условий:

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

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

Запустите проверку функциональности, чтобы узнать, поддерживает ли браузер API переводчика.

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

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

Загрузка модели

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

Чтобы определить, готова ли модель к использованию, вызовите асинхронную функцию Translator.availability() . Если ответ на вызов availability() указывает на downloadable , отслеживайте ход загрузки, чтобы информировать пользователя о её выполнении, поскольку это может занять некоторое время.

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

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

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

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

const translatorCapabilities = await Translator.availability({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
});
// '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() . Функция 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);
}

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

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

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

Поддерживаемые языки

В Chrome API переводчика поддерживаются следующие языки.

Код Язык
ar арабский
bg болгарский
bn бенгальский
cs чешский
da датский
de немецкий
el греческий
en Английский
es испанский
fi финский
fr Французский
hi хинди
hr хорватский
hu венгерский
id индонезийский
it итальянского
iw иврит
ja японский
kn Каннада
ko корейский
lt литовский
mr маратхи
nl Голландский
no норвежский
pl польский
pt португальский
ro румынский
ru Русский
sk словацкий
sl словенский
sv шведский
ta тамильский
te телугу
th Тайский
tr турецкий
uk украинский
vi вьетнамский
zh китайский
zh-Hant Китайский (традиционный)

Демо

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

Политика разрешений, iframe и веб-воркеры

По умолчанию API переводчика доступен только окнам верхнего уровня и iframe-элементам того же источника. Доступ к API можно делегировать iframe-элементам другого источника с помощью атрибута 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>

API переводчика недоступен в Web Workers из-за сложности создания ответственного документа для каждого Worker, необходимого для проверки статуса политики разрешений.

Поделитесь своим мнением

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

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