Traducción de páginas con Google Translate en BotBrowser
Activa la traducción del navegador con tu propia clave de Google Cloud y mantén claros la privacidad, la coherencia del perfil y el coste.
BotBrowser Team
Quieres la documentación estructurada de Primeros pasos?
Este artículo forma parte de la biblioteca editorial. Para pasos de configuración, material de referencia y actualizaciones continuas, entra en la sección de docs.
BotBrowser puede pasar una GOOGLE_API_KEY administrada por el cliente al proceso del navegador para traducir páginas, pero no aporta facturación, cuota, permiso de acceso ni autorización para enviar contenido a Google Cloud.
TL;DR
- Usa un proyecto de Google Cloud propio, una clave restringida y una ruta aprobada.
- Define
GOOGLE_API_KEYantes de iniciar el navegador y conserva el perfil y la política de datos elegidos. - Verifica una página segura y registra versión, perfil, idiomas, ruta y resultado sin contenido de página.
Contents
- Qué permite la traducción
- Prepara un proyecto de Google Cloud bajo tu control
- Inicia el navegador con la clave
- Mantén la coherencia del perfil
- Verifica el resultado y soluciona los fallos en orden
- Protege los datos, controla el coste y asigna responsables
- Conclusión práctica
Leer una página web en otro idioma debería ser una tarea normal del navegador. También debe ser una decisión consciente. La traducción envía el texto necesario a un servicio externo, consume cuota de nube y depende de la sesión que inicia la solicitud. BotBrowser admite este flujo cuando proporcionas y administras tu propia clave de Cloud Translation API de Google.
El resultado esperado es sencillo: abrir una página, usar el comando normal de traducción y revisar el contenido traducido. El control responsable es igual de importante: tú decides qué proyecto paga las solicitudes, qué rutas pueden usar la clave, qué perfiles mantienen la sesión y qué contenido puede enviarse al servicio.
Qué permite la traducción
El registro debe identificar GOOGLE_API_KEY, sourceLanguage y targetLanguage sin conservar el valor de la clave.
Cuando el texto principal de una página no está en el idioma objetivo, el navegador puede solicitar una traducción y mostrarla en la sesión actual. Esto sirve para soporte, investigación, revisión de localización, operaciones de contenido y controles de calidad autorizados. Para saber cómo las aplicaciones leen el idioma del navegador, consulta Idioma del navegador y localización de aplicaciones.
La traducción es una capacidad del navegador con una dependencia externa. Una página puede mostrar comportamientos relacionados con traducción mientras el servicio completo no está disponible. Son resultados distintos. Una comprobación de capacidad demuestra que el navegador conoce la función, pero no demuestra que una solicitud de nube vaya a funcionar. También se necesitan una clave válida del cliente, el servicio habilitado, facturación, cuota disponible, tráfico permitido, una ruta operativa y una página que el servicio pueda procesar.
Esta diferencia ayuda a describir los fallos correctamente. Si no aparece el comando, revisa el idioma de la página y la configuración del navegador. Si aparece pero no llega el resultado, revisa el proyecto, las restricciones de la clave, la cuota, el proxy y la red. Una solicitud fallida no equivale a una página traducida y un comando visible no prueba que el servicio externo esté disponible.
Prepara un proyecto de Google Cloud bajo tu control
Prepara estos elementos antes de la primera sesión de producción:
- Una versión de BotBrowser y un perfil compatibles con el flujo.
- Un proyecto de Google Cloud administrado por tu organización.
- Cloud Translation API habilitada en ese proyecto.
- Una cuenta de facturación vinculada según los requisitos actuales del servicio.
- Una política de cuota adecuada para las páginas y usuarios esperados.
- Una API key limitada a Cloud Translation API y a la ruta de la aplicación que la necesita.
- Una ruta de red que permita al navegador llegar a los servicios necesarios.
Usa un proyecto separado para pruebas si necesitas separar gastos y accesos. También facilita revocar una clave de prueba sin afectar otra carga de trabajo. Documenta el perfil, el directorio de datos, el proxy y el método de inicio como una sola unidad de despliegue. La traducción es más reproducible cuando esas decisiones no cambian entre ejecuciones.
En Google Cloud Console, crea o selecciona un proyecto para traducción, habilita Cloud Translation API, vincula la facturación y consulta los precios y las cuotas actuales. Crea la API key en APIs y servicios y Credenciales. Limítala a Cloud Translation API y añade una restricción de aplicación que coincida con el lugar real donde funciona el navegador. Una restricción por IP puede servir para una salida de servidor estable; otros despliegues pueden necesitar otra opción. Usa el límite más estrecho que funcione y pruébalo desde la ruta real.
No pegues una clave real en un artículo, archivo fuente, perfil, captura, grabación de terminal, archivo de entorno versionado ni registro compartido. Los ejemplos usan marcadores de posición de forma intencional. Guarda la clave en el almacén de secretos del despliegue o introdúcela en un shell protegido al iniciar BotBrowser. Si se expone, rótala o revócala en Google Cloud.
BotBrowser no proporciona una clave compartida. La separación deja bajo tu control el presupuesto, la cuota, la revisión de accesos, la retención de datos y la respuesta ante incidentes. También significa que la disponibilidad de Google Cloud y la configuración de la cuenta son responsabilidades del despliegue.
Inicia el navegador con la clave
La variable debe existir cuando comienza el proceso de BotBrowser. Configúrala en el mismo entorno que inicia el navegador y conserva los argumentos del perfil:
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
El valor es un marcador no utilizable. Sustitúyelo solo en el entorno local o de despliegue protegido. Reinicia BotBrowser después de cambiar la variable. No basta con cambiar un cliente HTTP externo, un script de página o un proceso secundario posterior.
En macOS o Linux, expórtala desde el mismo shell que inicia el navegador:
export GOOGLE_API_KEY='YOUR_API_KEY'
chromium-browser \
--bot-profile='/absolute/path/to/profile.enc' \
--user-data-dir='/absolute/path/to/user-data'
En PowerShell, establece el entorno del proceso antes del inicio:
$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'
Con Playwright o Puppeteer, el proceso que inicia el navegador es dueño del entorno. Pasa el valor protegido por ese límite y mantén los argumentos del perfil en el lanzamiento. Nunca pongas la clave en JavaScript de la página ni en un .env versionado. Para otras formas de iniciar el navegador, consulta BotBrowser Launcher: perfiles, proxy e inicio. Para usar un perfil desde Selenium, véase Integración de perfiles de navegador con Selenium.
Mantén la coherencia del perfil
Mantén profilePackage, userDataPolicy y routePolicy fijos durante una revisión de traducción.
La traducción no justifica mezclar identidades ni políticas de estado. Carga el perfil antes de navegar y define con claridad el directorio de datos. La guía Profile Management explica cómo elegir e iniciar un perfil compatible. Un directorio persistente conserva el historial de sesión esperado; uno nuevo sirve para una prueba que necesita una relación nueva con el sitio. No compartas un directorio persistente entre identidades no relacionadas.
El perfil, la versión del navegador, el host y la ruta de red deben describir una misma sesión. Si el perfil corresponde a una familia de navegador o contexto de plataforma, mantén esas elecciones durante la comprobación. Entradas de inicio incoherentes dificultan reproducir el resultado y pueden exponer estado inesperado a la página. Para mantener la ruta coherente, consulta Coherencia de proxy, DNS y WebRTC en una identidad de navegador.
En flujos con varios perfiles, asigna el perfil correspondiente antes de iniciar la sesión y mantén estables las opciones de identidad durante su vida. Consulta Per-Context Fingerprint para la secuencia actual. La traducción debe ejecutarse dentro de una sesión ya definida, no cambiarla después de navegar. La gestión coherente de perfiles se describe en Gestión coherente de perfiles de navegador.
La coherencia protege la explicación del resultado: familia del navegador, preferencias de idioma, estado almacenado y ruta de red permanecen alineados. El perfil controla el comportamiento del navegador y la continuidad. No concede acceso ni reemplaza las reglas del sitio.
Verifica el resultado y soluciona los fallos en orden
Registra browserVersion, profilePackage, sourceLanguage, targetLanguage y translationOutcome en la ejecución aprobada.
Usa la misma versión, perfil, proxy, método de inicio y idioma objetivo del despliegue:
- Confirma que el proceso se reinició después de configurar la clave.
- Abre una página cuyo texto principal no esté en el idioma objetivo.
- Usa el comando normal de traducción desde el menú o el menú contextual.
- Confirma que el texto cambia visiblemente y que el resultado es legible.
- Revisa el uso esperado en el proyecto de Google Cloud.
- Registra perfil, ruta, idiomas y resultado sin guardar texto privado ni secretos.
Prueba una página que debería traducirse y otra que debería quedar igual. Para formularios, cuentas, registros de clientes o texto creado por usuarios, usa una página representativa segura salvo que la política de datos apruebe expresamente el envío.
Una comprobación de capacidad del navegador por sí sola no demuestra que el servicio externo esté disponible. Un resultado exitoso en un entorno no garantiza el mismo resultado con otro proxy, cuota, perfil o proyecto de facturación. Relaciona cada evidencia con el entorno real.
No hay traducción. Confirma que la clave existía antes del inicio, que el navegador se reinició, que Cloud Translation API está habilitada y que la facturación está configurada. Comprueba también si los idiomas son aplicables.
Acceso denegado. Revisa las restricciones de API y de aplicación. Confirma que la solicitud sale por una ruta permitida y que el proyecto elegido contiene la clave y la facturación.
Cuota agotada. Revisa uso, límites diarios y límites por minuto. Define límites que eviten gasto accidental sin eliminar la capacidad planificada. No copies una clave de otro proyecto para superar un límite.
Fallo con proxy. Comprueba que está configurado a nivel del navegador y que permite los servicios de Google necesarios. Proxy Configuration describe la ruta de red del navegador. Compara una ruta controlada con la de despliegue y asigna responsables separados para red e identidad.
Clave expuesta. Revócala o rótala de inmediato, actualiza el entorno protegido y elimina copias de los canales de distribución. No continúes con una credencial cuyo límite de acceso no esté claro.
Resultados variables. Compara versión, perfil, directorio de datos, idiomas, proxy, host, proyecto, cuota y momento de inicio. Cambia una sola variable cada vez. Los metadatos operativos son preferibles a capturas con contenido privado.
Protege los datos, controla el coste y asigna responsables
La traducción envía a Google el texto necesario para el servicio. Puede incluir títulos, párrafos, etiquetas y otro texto seleccionado por el flujo del navegador. También puede contener información personal, confidencial, regulada o comercial. Revisa la política de datos antes de traducir una página.
Usa páginas de prueba aprobadas. Excluye secretos, recuperación de cuentas, pagos, salud, datos de clientes y texto empresarial confidencial salvo aprobación explícita. Una función de idioma no debe ampliar silenciosamente los sistemas que reciben información.
Documenta qué proyecto recibe solicitudes, quién puede cambiar la clave, cómo se gestionan las alertas de cuota y cómo se rotan credenciales expuestas. Usa permisos mínimos y registra solo metadatos operativos. Si basta con indicar traducción correcta o cuota denegada, no copies el texto de la página en un ticket.
La privacidad y la coherencia se refuerzan. Un perfil y una ruta estables aclaran qué datos salen de la sesión y dónde falla el proceso. Una política clara aclara cuándo es apropiada la traducción. Ninguna sustituye a la otra: el perfil no hace seguro por sí solo el texto sensible y una red privada no vuelve aceptable cualquier solicitud externa. Para una visión más amplia, lee Privacidad desde el diseño en los flujos de trabajo del navegador.
Google Cloud controla precios y cuotas. Configura alertas de presupuesto, revisa el uso y define un máximo de solicitudes por flujo. Una página larga puede consumir muchos más caracteres que una página breve, y los reintentos pueden aumentar el consumo durante un fallo.
Para equipos con presupuestos distintos, separa proyectos o límites de servicio. Define un responsable, una cuota y una ruta de escalado. La preparación de producción incluye un límite de coste conocido, una ruta funcional, una clave rotatable y una respuesta para fallos de facturación o cuota.
La disponibilidad es condicional. Google Cloud, la red, el perfil, la página de origen y la sesión contribuyen al resultado. Si falla una dependencia, conserva la página original e informa que la traducción no está disponible. No marques una página como traducida solo porque el comando sea visible.
Antes de activar:
- Elige una política de datos y una página segura de verificación.
- Selecciona el
projectIdde Google Cloud administrado por el cliente. - Habilita API, facturación, límites de cuota y alertas.
- Restringe la clave a la API y ruta necesarias.
- Mantén la clave fuera del código, perfiles, capturas y registros compartidos.
- Selecciona perfil, versión, política de datos y proxy coherentes.
Durante la ejecución:
- Inicia BotBrowser con la clave ya presente en su entorno.
- Usa el comando normal de traducción.
- Confirma el resultado visible y conserva el original si falla.
- Observa errores de acceso, cuota, facturación y red.
- Registra metadatos sin copiar contenido privado ni credenciales.
Después:
- Comprueba el uso esperado en Google Cloud.
- Revisa idioma y estado de página.
- Rota la clave si se sospecha exposición o cambia el responsable.
- Revisa privacidad y cuota cuando cambien el flujo, el perfil o la audiencia.
La primera traducción correcta es solo el comienzo de un patrón de operación. Si varias personas o tareas programadas usan la función, asigna un responsable claro al flujo. Esa persona debe saber qué proyecto de nube recibe las solicitudes, qué perfil está aprobado, qué ruta se espera y qué hacer cuando el servicio no está disponible. Quien administra los perfiles del navegador no necesita automáticamente permiso para cambiar la facturación de la nube, y quien administra el proyecto de nube no necesita automáticamente acceso al contenido de las páginas. Separar responsabilidades facilita la revisión.
Mantén separadas las decisiones de desarrollo, preproducción y producción. Un proyecto de pruebas puede tener una cuota menor y una página de muestra segura. Un proyecto de producción puede tener otro presupuesto, otro destino de alertas y otra restricción de clave. No asumas que una clave que funciona desde un portátil funcionará desde la ruta de un servidor, ni que un perfil preparado para una versión sirve para todas las versiones del navegador. Registra la combinación que superó la comprobación visible para el usuario.
Las sesiones recurrentes también necesitan una política de estado. Decide si una sesión conserva su directorio de datos, empieza con un directorio nuevo o sigue un calendario de rotación documentado. Esta decisión afecta a más que las cookies. Las preferencias de idioma, las decisiones sobre sitios y otro estado del navegador pueden cambiar la experiencia de la página y la interpretación de una comprobación posterior. Una sesión nueva no es automáticamente más segura, y una sesión persistente no es automáticamente incorrecta. Lo importante es que la decisión sea intencional y compatible con la política de datos.
Cuando falla una solicitud de traducción, conserva la página original y ofrece a quien opera un estado útil. Distingue un servicio no disponible de una página sin traducir, de una página que no necesita traducción y de una página que la política de datos excluye. Cada caso lleva a un paso siguiente distinto. Una caída del servicio puede requerir reintento o escalado. Una página excluida requiere una decisión de política. Una página que ya está en el idioma objetivo no necesita ninguna solicitud a la nube. Estados claros reducen reintentos innecesarios y evitan gastar cuota mientras alguien diagnostica el problema equivocado.
Revisa el flujo cuando cambie cualquier límite: una versión nueva del navegador, una familia de perfiles nueva, un host nuevo, un proxy nuevo, un proyecto de nube distinto, otra audiencia u otra clasificación de datos. Ejecuta la misma página segura de verificación, compara el resultado visible e inspecciona el uso esperado. Conserva solo la evidencia operativa necesaria para la siguiente decisión. Así proteges la privacidad y haces medible la coherencia.
BotBrowser admite la traducción de páginas integrada en el navegador leyendo, al iniciarse, una GOOGLE_API_KEY aportada por el cliente desde el entorno del proceso del navegador. Así, tu equipo puede ejecutar la traducción con su propio proyecto de Google Cloud, su cuota y su política de facturación, junto con el perfil y el proxy que elija. BotBrowser no proporciona una clave de traducción compartida y no puede garantizar que la traducción funcione: las restricciones de la clave, la facturación, la cuota, la disponibilidad del servicio, la ruta de red y la página de origen dependen de Google Cloud y de tu entorno, no de BotBrowser. Tampoco sustituye tu propia revisión del tratamiento de datos.
Conclusión práctica
Trata la traducción como una integración cloud gestionada por el cliente: carga el perfil aprobado, define GOOGLE_API_KEY antes del inicio, restringe clave y ruta, y conserva un registro mínimo de una página segura. El navegador puede solicitar traducción; no decide si el contenido puede salir de tu entorno.
Fuentes públicas
Este artículo forma parte de la guía: Primeros pasos con automatización de navegador: mapa inicial
Artículos Relacionados
navigator.languages y localización: elegir el locale correcto
Primeros pasosGestión coherente de perfiles de navegador
Primeros pasosPrimeros pasos con automatización de navegador: mapa inicial
Primeros pasosPuppeteer + BotBrowser: errores de lanzamiento y de perfil
Primeros pasosBrowserContext de Puppeteer: propiedad de páginas y limpieza
Primeros pasosIntegración de perfiles de navegador con Selenium
Lleva BotBrowser de la investigación a producción
Usa estas guías para entender el modelo y después avanzar hacia validación multiplataforma, contextos aislados y despliegue de navegador preparado para escalar.