Перевод страниц Google Translate в BotBrowser
Включите перевод страниц с помощью собственного ключа Google Cloud и явно управляйте приватностью, согласованностью профиля и затратами.
Нужна структурированная документация по теме Начало работы?
Эта статья относится к редакционной библиотеке. Для пошаговой настройки, справки и постоянных обновлений переходите сразу в соответствующий раздел docs.
Перевод страниц Google Translate в BotBrowser
Чтение веб-страницы на другом языке должно оставаться обычной задачей браузера. При этом решение о переводе должно быть осознанным. Перевод отправляет необходимый текст внешнему сервису, расходует облачную квоту и зависит от сеанса, который создаёт запрос. BotBrowser поддерживает этот сценарий, если вы предоставляете и сами управляете ключом Cloud Translation API в Google Cloud.
Результат прост: откройте страницу, используйте обычную команду перевода браузера и проверьте переведённый текст. Контроль не менее важен: вы выбираете проект, который оплачивает запросы, маршруты, которым разрешено пользоваться ключом, профили сеанса и данные, которые можно передавать сервису.
Что даёт перевод страниц
Если основной текст страницы написан не на целевом языке, браузер может запросить перевод и показать его в текущем сеансе. Это удобно для поддержки, исследований, проверки локализации, работы с контентом и разрешённых проверок качества.
Перевод является возможностью браузера, зависящей от внешнего сервиса. Страница может показывать связанные с переводом возможности, хотя полный сервис недоступен. Это разные результаты. Проверка возможности показывает, что браузер понимает функцию, но не доказывает успешность облачного запроса. Нужны действительный клиентский ключ, включённый сервис, оплата, доступная квота, разрешённый трафик, рабочий маршрут и страница, которую сервис может обработать.
Такое различие помогает правильно описывать ошибки. Если команда перевода отсутствует, проверьте язык страницы и настройки браузера. Если команда есть, но результат не приходит, проверьте проект, ограничения ключа, квоту, прокси и сеть. Не считайте неудачный запрос переведённой страницей и не принимайте видимую команду за доказательство доступности внешнего сервиса.
Подготовьте требования
- Версию BotBrowser и профиль, соответствующие сценарию.
- Проект Google Cloud, которым владеет или управляет ваша организация.
- Включённый Cloud Translation API в этом проекте.
- Связанный платёжный аккаунт в соответствии с текущими требованиями сервиса.
- Политику квот для ожидаемых страниц и пользователей.
- API key с ограничением на Cloud Translation API и реальную среду приложения.
- Сетевой маршрут, по которому браузер может обращаться к нужным сервисам.
Для тестов используйте отдельный проект, если необходимо разделить расходы и доступ. Это также упрощает отзыв тестового ключа без влияния на другую нагрузку. Описывайте профиль, каталог пользовательских данных, прокси и способ запуска как одну единицу развёртывания. Так проще воспроизводить результат.
Создайте проект под своим управлением
В Google Cloud Console создайте или выберите проект для перевода, включите Cloud Translation API, свяжите оплату и изучите актуальные цены и квоты. Создайте API key в разделах APIs & Services и Credentials. Ограничьте ключ Cloud Translation API и добавьте ограничение приложения, соответствующее месту запуска браузера. Для стабильного серверного выхода подойдёт ограничение по IP, для других вариантов потребуется другой тип. Выберите самое узкое рабочее ограничение и проверьте его из реального маршрута.
Не вставляйте настоящий ключ в статью, исходный файл, профиль, снимок экрана, запись терминала, версионируемый файл окружения или общий журнал. В статье намеренно используются заполнители. Храните ключ в хранилище секретов развёртывания или вводите его в защищённой оболочке при запуске BotBrowser. При раскрытии отзовите или замените ключ в Google Cloud.
BotBrowser не предоставляет общий ключ перевода. Такое разделение оставляет под вашим контролем оплату, квоту, проверку доступа, хранение данных и реагирование на инциденты. Доступность Google Cloud и настройки аккаунта также остаются ответственностью развёртывания.
Запустите браузер с ключом
Переменная окружения должна существовать при запуске процесса BotBrowser. Установите её в том же окружении, из которого запускается браузер, вместе с обычными аргументами профиля:
GOOGLE_API_KEY='YOUR_API_KEY' \
chromium-browser \
--bot-profile='/absolute/path/to/profile.enc' \
--user-data-dir='/absolute/path/to/user-data' \
about:blank
Это нерабочий заполнитель. Заменяйте его только в защищённой локальной или рабочей среде. После изменения переменной перезапустите BotBrowser. Изменение внешнего HTTP-клиента, скрипта страницы или более позднего дочернего процесса не настраивает процесс браузера.
В macOS и Linux экспортируйте переменную в той же оболочке, которая запускает браузер:
export GOOGLE_API_KEY='YOUR_API_KEY'
chromium-browser \
--bot-profile='/absolute/path/to/profile.enc' \
--user-data-dir='/absolute/path/to/user-data'
В PowerShell задайте окружение процесса до запуска:
$env:GOOGLE_API_KEY = 'YOUR_API_KEY'
& 'C:\path\to\chromium.exe' `
'--bot-profile=C:\path\to\profile.enc' `
'--user-data-dir=C:\path\to\user-data'
В Playwright или Puppeteer окружением владеет процесс, запускающий браузер. Передайте защищённое значение через эту границу и оставьте аргументы профиля в запуске браузера. Не помещайте ключ в JavaScript страницы и не добавляйте настоящий .env в репозиторий.
Сохраняйте согласованность профиля
Перевод не должен приводить к смешиванию браузерных идентичностей или политик состояния. Загрузите профиль до навигации и определите политику каталога пользовательских данных. Постоянный каталог сохраняет ожидаемую историю сеанса; новый каталог подходит для проверки нового отношения с сайтом. Не используйте один постоянный каталог для несвязанных идентичностей.
Профиль, версия браузера, хост и сетевой маршрут должны описывать один согласованный сеанс. Если профиль предназначен для конкретного семейства браузера или платформенного контекста, не меняйте эти условия во время проверки. Несогласованные параметры запуска затрудняют воспроизведение и могут открыть странице неожиданное состояние.
В сценариях с несколькими профилями назначьте соответствующий профиль до начала сеанса и не меняйте настройки идентичности в течение его жизни. См. Per-Context Fingerprint для актуальной последовательности. Перевод должен выполняться внутри уже определённого сеанса, а не служить причиной менять его после навигации.
Согласованность делает понятными семейство браузера, языковые предпочтения, сохранённое состояние и сетевой маршрут. Профиль управляет поведением и непрерывностью браузера. Он не выдаёт разрешение на доступ и не заменяет правила сайта.
Проверьте видимый пользователю сценарий
Используйте ту же версию, профиль, прокси, способ запуска и целевой язык, что и в развёртывании:
- Убедитесь, что после настройки ключа процесс был перезапущен.
- Откройте страницу, основной текст которой не на целевом языке.
- Используйте обычную команду перевода из меню или контекстного меню.
- Убедитесь, что текст заметно изменился и результат читаем.
- Проверьте ожидаемое использование в проекте Google Cloud.
- Запишите профиль, маршрут, языки и результат, не сохраняя частный текст или секреты.
Проверьте страницу, которая должна переводиться, и страницу, которая должна остаться без изменений. Для форм, аккаунтов, клиентских записей и пользовательского текста используйте безопасную тестовую страницу, если политика данных явно не разрешает передачу.
Одной проверки возможности браузера недостаточно для доказательства доступности внешнего сервиса. Успех в одной среде не гарантирует такой же результат с другим прокси, профилем, квотой или платёжным проектом. Связывайте проверку с нужной средой.
Устраняйте проблемы по порядку
Перевод недоступен. Проверьте, что ключ был установлен до запуска процесса, браузер перезапущен, Cloud Translation API включён, а оплата настроена. Убедитесь также, что языки подходят для перевода.
Доступ запрещён. Проверьте ограничения API и приложения. Убедитесь, что запрос идёт по разрешённому маршруту, а выбранный проект содержит ключ и платёжную конфигурацию.
Достигнута квота или лимит скорости. Изучите использование, дневные и поминутные лимиты. Установите границы против случайных расходов, сохранив нужную ёмкость. Не копируйте ключ другого проекта для обхода ограничения.
Запросы не проходят через прокси. Убедитесь, что прокси настроен на уровне браузера и разрешает нужные сервисы Google. Сравните контролируемый тестовый маршрут с рабочим и держите ответственность за сеть и идентичность раздельной.
Ключ мог раскрыться. Немедленно отзовите или замените его, обновите защищённое окружение и удалите копии из каналов распространения. Не продолжайте работу с ключом, границы доступа которого неизвестны.
Результаты меняются между запусками. Сравните версию браузера, профиль, каталог данных, языки, прокси, хост, проект, квоту и время запуска. Меняйте одну переменную за раз. Операционные метаданные лучше снимков с частным текстом.
Приватность и защита
Перевод отправляет Google текст, необходимый сервису. Это могут быть заголовки, абзацы, подписи и другой текст, выбранный процессом перевода. Он может содержать персональные, конфиденциальные, регулируемые или коммерчески чувствительные сведения. Перед переводом проверьте правила обработки данных.
Используйте одобренные тестовые страницы. Не передавайте секреты, материалы восстановления аккаунта, платёжные данные, сведения о здоровье, клиентские записи и конфиденциальный деловой текст, если это прямо не разрешено политикой. Языковая функция не должна незаметно расширять список систем, получающих информацию.
Зафиксируйте, какой проект принимает запросы, кто может менять ключ, как обрабатываются квотные предупреждения и как заменяются раскрытые ключи. Используйте минимальные права и храните только операционные метаданные. Если достаточно записи перевод выполнен или квота отклонена, не копируйте текст страницы в заявку.
Приватность и согласованность усиливают друг друга. Стабильные профиль и маршрут показывают, какие данные покидают сеанс и где возникла ошибка. Ясная политика показывает, когда перевод допустим. Одно не заменяет другое: профиль сам по себе не делает чувствительный текст безопасным, а приватная сеть не делает любой внешний запрос приемлемым.
Управляйте расходами и доступностью
Google Cloud управляет ценами и квотами. Настройте бюджетное предупреждение, регулярно проверяйте использование и задайте максимум запросов для каждого сценария. Длинная страница может расходовать намного больше символов, чем короткая, а повторные попытки увеличивают расход во время сбоя.
Если командам нужны разные бюджеты, разделите проекты или границы сервиса. Назначьте каждому владельцу квоту и путь эскалации. Готовность к рабочему использованию означает не только успешный первый запрос, но и известный предел расходов, рабочий маршрут, возможность заменить ключ и понятную реакцию на ошибку оплаты или квоты.
Считайте доступность условной. Google Cloud, сеть, профиль, исходная страница и браузерный сеанс вместе определяют результат. Если зависимость недоступна, сохраните исходную страницу и сообщите, что перевод недоступен. Не отмечайте страницу как переведённую только потому, что команда видна.
Практический список
До включения:
- Выберите политику данных и безопасную страницу проверки.
- Выберите проект Google Cloud под управлением клиента.
- Включите API, оплату, квотные ограничения и предупреждения.
- Ограничьте ключ нужными API и маршрутом приложения.
- Храните ключ вне кода, профилей, снимков и общих журналов.
- Выберите согласованные профиль, версию, политику данных и прокси.
Во время запуска:
- Запускайте BotBrowser, когда ключ уже есть в его окружении.
- Используйте обычную команду перевода браузера.
- Проверяйте видимый результат и сохраняйте оригинал при сбое.
- Следите за ошибками доступа, квоты, оплаты и сети.
- Записывайте метаданные без частного текста и секретов.
После запуска:
- Проверьте ожидаемое использование в Google Cloud.
- Проверьте язык и состояние страницы.
- Замените ключ при подозрении на раскрытие или смене владельца.
- Пересмотрите приватность и квоту при изменении сценария, профиля или аудитории.
Связанная документация
- Google Translate Page Translation для настройки.
- Profile Management для выбора подходящего профиля.
- Proxy Configuration для сетевого маршрута браузера.
- First Verification для контролируемой проверки запуска.
- Per-Context Fingerprint для профилей по контекстам.
Перевод лучше работает как явная возможность браузера с явной внешней границей. Ключ, проект, профиль, маршрут, квота и политика данных должны быть понятны ответственным за сеанс. Так пользователи получают полезный языковой инструмент, сохраняя приватность, согласованность и операционный контроль.
Похожие статьи
Переведите BotBrowser из исследований в продакшн
Используйте эти руководства, чтобы понять модель, а затем перейти к кроссплатформенной валидации, изолированным контекстам и масштабируемому браузерному развертыванию.