Опубликовано: 13 ноября 2024 г., Последнее обновление: 20 мая 2025 г.
Объяснитель | Веб | Расширения | Статус Хрома | Намерение |
---|---|---|---|---|
GitHub | Вид | Намерение экспериментировать |
Используйте API переводчика в Chrome для перевода текста с помощью моделей ИИ, предоставленных в браузере.
Ваш веб-сайт может уже предлагать контент на нескольких языках, чтобы сделать его доступным для глобальной аудитории. С API переводчика пользователи могут вносить свой вклад на своем родном языке. Например, пользователи могут участвовать в чатах поддержки на своем родном языке, и ваш сайт может перевести его на язык, который используют ваши агенты поддержки, прежде чем он покинет устройство пользователя. Это создает плавный, быстрый и инклюзивный опыт для всех пользователей.
Перевод контента в Интернете обычно требует использования облачного сервиса. Сначала исходный контент загружается на сервер, который выполняет перевод на целевой язык, затем полученный текст загружается и возвращается пользователю. Запуская перевод на клиенте, вы экономите время, необходимое для поездок на сервер, и стоимость хостинга службы перевода.
Начать
API переводчика доступен в стабильной версии Chrome 138. Сначала запустите обнаружение функций, чтобы узнать, поддерживает ли браузер API переводчика.
if ('Translator' in self) {
// The Translator API is supported.
}
Хотя вы всегда знаете целевой язык для переводов, вы не всегда можете знать исходный язык. В таких случаях вы можете использовать API Language Detector .
Ознакомьтесь с требованиями к оборудованию.
API-интерфейсы определения языка и переводчика работают только на настольных компьютерах в Chrome.
Prompt API, Summarizer API, Writer API и Rewriter API работают в Chrome при соблюдении следующих условий:
- Операционная система : Windows 10 или 11; macOS 13+ (Ventura и выше); или Linux. Chrome для Android, iOS и ChromeOS пока не поддерживаются нашими API, поддерживаемыми Gemini Nano.
- Хранилище : не менее 22 ГБ на томе, содержащем ваш профиль Chrome.
- Графический процессор : строго более 4 ГБ видеопамяти.
- Сеть : Неограниченные данные или безлимитное соединение.
- Графический процессор : строго более 4 ГБ видеопамяти.
- Сеть : Неограниченные данные или безлимитное соединение.
Эти требования существуют для вас в процессе разработки и для ваших пользователей, которые работают с создаваемыми вами функциями.
Проверить поддержку языковой пары
Перевод управляется языковыми пакетами, загружаемыми по требованию. Языковой пакет — это как словарь для данного языка.
-
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 переводчика, используемый в сочетании с API детектора языка, можно увидеть на игровой площадке API переводчика и детектора языка .
Усилия по стандартизации
Мы работаем над стандартизацией API переводчика, чтобы обеспечить кроссбраузерную совместимость.
Наше предложение API получило поддержку сообщества и было перемещено в группу сообщества W3C Web Incubator для дальнейшего обсуждения. Команда Chrome запросила обратную связь от группы технической архитектуры W3C и попросила Mozilla и WebKit высказать свои позиции по стандартам.
Вы можете принять участие в работе над стандартами, присоединившись к группе сообщества Web Incubator .
Поделиться отзывом
Мы хотим увидеть, что вы создаете с помощью API Language Detector. Поделитесь с нами своими веб-сайтами и веб-приложениями на X , YouTube и LinkedIn .
Чтобы оставить отзыв о реализации Chrome, отправьте отчет об ошибке или запрос на добавление функции .