Chrome AI Translator Playground
Тестируйте экспериментальные встроенные API переводчика и детектора языка Chrome прямо в браузере. Переводите текст на устройстве, автоматически определяйте исходный язык, отслеживайте прогресс загрузки модели и проверяйте уверенность определения языка — без сервера.
Ввод
Вывод
Документация
Что такое встроенный API переводчика Chrome?
Translator API — это экспериментальная функция веб-платформы, которая позволяет веб-странице переводить текст непосредственно в браузере, используя локально встроенную модель ИИ, управляемую пользовательским агентом. Вместо отправки текста на удаленный сервис перевода браузер предоставляет интерфейс JavaScript (window.Translator), который создает краткосрочные сеансы переводчика для заданной пары исходного/целевого языка и возвращает переведенные строки асинхронно.
Сопутствующий API Language Detector (window.LanguageDetector) анализирует строку и возвращает отранжированный список вероятных тегов языков BCP-47 с оценками уверенности. Вместе эти два API позволяют странице определить язык произвольного входного текста и затем перевести его без сетевых запросов после начальной загрузки модели.
Поскольку модель работает на устройстве пользователя, переводы работают в автономном режиме после загрузки, конфиденциальный текст никогда не покидает машину, и отсутствуют затраты на API за запрос. Компромисс заключается в том, что доступность зависит от браузера, операционной системы и того, была ли загружена запрошенная пара языков.
Описание инструмента
Эта площадка — интерактивная среда для тестирования API Translator и Language Detector в вашем браузере. Она связывает область ввода, селектор целевого языка и область вывода с базовыми вызовами Translator.create() / translate() и отображает состояние доступности модели и ход загрузки во время экспериментов.
Исходный язык по умолчанию установлен на "Автоопределение", что направляет входной текст через LanguageDetector в первую очередь, а затем передает обнаруженный язык переводчику. Вы также можете явно закрепить исходный язык, чтобы пропустить определение.
Примеры
| Источник (автоопределение) | Целевой язык | Результат |
|---|---|---|
Bonjour, comment ça va ? |
English | Hello, how are you? |
Guten Morgen, wie geht es dir? |
Spanish | Buenos días, ¿cómo estás? |
今日は良い天気ですね。 |
English | The weather is nice today. |
Возможности
- Автоматическое определение языка — использует API Language Detector для определения исходного языка перед переводом.
- Двусторонний селектор языков — поменяйте исходный и целевой языки одним щелчком и переведите заново.
- Состояние доступности в реальном времени — показывает, является ли запрошенная модель
available(доступна),downloadable(загружаемая),downloading(загружается) илиunavailable(недоступна). - Полоса прогресса загрузки — транслирует события
downloadprogressот переводчика/детектора во время загрузки модели. - Перевод на устройстве в автономном режиме — после загрузки модели сетевые запросы не выполняются для перевода.
Варианты использования
- Предпросмотр локализованного текста — вставьте строку и мгновенно посмотрите, как она выглядит на другом языке при редактировании текста интерфейса.
- Проверка поддержки браузером — проверьте, доступна ли конкретная пара исходного/целевого языка перед развертыванием функции, которая зависит от API Translator.
- Быстрый автономный перевод — переводите фрагменты в режиме без подключения после загрузки соответствующего языкового пакета.
Требования
- Браузер, реализующий API Translator и Language Detector. На момент написания это Chrome 138+ и браузеры на основе Chromium (например, Opera 122+) на рабочем столе. Edge, Firefox и Safari пока не поддерживаются.
- Защищенный контекст (HTTPS или
localhost). - Временная активация пользователя — API позволяют вызывать
create()только после недавнего жеста пользователя, поэтому перевод выполняется при вводе, а не при загрузке страницы. - Достаточно места на диске и пропускной способности для начальной загрузки языковой модели. Последующие переводы повторно используют кэшированную модель.
Как это работает
- При загрузке инструмент проверяет наличие
window.Translatorиwindow.LanguageDetector. Если какой-либо из них отсутствует, выводится предупреждение и ввод отключается. - При вводе текста ввод дебаунсируется и разрешается пара исходного/целевого языка (сначала запускается
LanguageDetector.detect(), если источник —auto). - Вызывается
Translator.availability({ sourceLanguage, targetLanguage })для запроса состояния модели для этой пары. - Вызывается
Translator.create()с обратным вызовомmonitor, который прослушивает событияdownloadprogressи обновляет полосу прогресса. translator.translate(text)возвращает переведенную строку, которая отображается в области вывода.- Экземпляры переводчика и детектора освобождаются через
destroy()после каждого вызова для освобождения ресурсов.
Поддерживаемые языки
Селектор предоставляет тщательно отобранный список распространенных тегов языков BCP-47, которые встроенная модель Chrome поддерживает или обычно тестирует, включая:
en, es, fr, de, it, pt, nl, pl, ru, uk, tr, ar, hi, bn, ja, ko, zh, zh-Hant, vi, th, id, sv, no, fi, da, el, he, cs, ro, hu.
Фактический набор используемых пар зависит от того, какие пары загрузил или может загрузить базовый браузер. Пары, о которых сообщается как unavailable (недоступные), не могут быть переведены в вашем текущем браузере.
Ограничения
- API являются экспериментальными, и интерфейс может измениться между версиями браузера.
- Качество перевода определяется моделью, предоставляемой браузером, и не гарантируется соответствие выделенным облачным сервисам перевода.
- Некоторые пары языков могут требовать промежуточного перевода через английский язык или могут быть просто недоступны.
- Первый перевод для новой пары языков может быть медленным из-за загрузки модели.
- API в настоящее время не предоставляются веб-воркерам и могут быть ограничены политикой разрешений (
translator,language-detector) на кросс-доменных iframe.
Часто задаваемые вопросы
Почему вывод остается пустым? API Translator, вероятно, не реализован в вашем браузере. Откройте страницу в Chrome 138+ на рабочем столе и перезагрузите.
Почему отображается "Загрузка модели…"?
При первом использовании пары языков браузер загружает пакет модели. Полоса прогресса отражает события downloadprogress, генерируемые Translator.create().
Мой текст покидает устройство? Нет. После загрузки модели перевод происходит полностью на устройстве. Сам инструмент не отправляет ваш ввод никуда.
Почему "Автоопределение" иногда не работает?
Если ввод слишком короткий, неоднозначный или на письме, которое детектор не видел, LanguageDetector.detect() может вернуть und (неопределенный). В этом случае вручную выберите исходный язык.