Traducción con IA integrada

Fecha de publicación: 13 de noviembre de 2024

Usa la API de Translator en Chrome para traducir texto en el navegador con modelos de IA locales.

Es posible que tu sitio web ya ofrezca contenido en varios idiomas para que sea accesible a un público global. Con la API de Translator, los usuarios pueden contribuir en su lengua materna. Por ejemplo, los usuarios pueden participar en chats de asistencia en su idioma materno, y tu sitio puede traducirlo al idioma que usan tus agentes de asistencia antes de que salga del dispositivo del usuario. Esto crea una experiencia fluida, rápida e inclusiva para todos los usuarios.

Por lo general, la traducción de contenido en la Web requiere el uso de un servicio en la nube. Primero, el contenido de origen se sube a un servidor, que ejecuta la traducción a un idioma de destino. Luego, el texto resultante se descarga y se muestra al usuario. Cuando ejecutas la traducción en el cliente, ahorras el tiempo requerido por los viajes del servidor y el costo de alojar el servicio de traducción.

Disponibilidad

Si bien siempre se conoce el idioma de destino seleccionado, en algunas situaciones es posible que el idioma de origen sea desconocido, por ejemplo, con el contenido generado por usuarios. En estos casos, la propuesta de la API de Translator incluye la API de Translator y la API de Language Detector, que también está disponible en una prueba de origen. Regístrate en ambas pruebas de origen para usar estas APIs en conjunto.

Regístrate para la prueba de origen

Para comenzar a usar la API de Translator, sigue estos pasos:

  1. Acepta la Política de Usos Prohibidos de IA Generativas de Google.
  2. Ve a la prueba de origen de la API de Translator.
  3. Haz clic en Registrarse y completa el formulario.
    • En el campo Origen web, proporciona tu origen o el ID de extensión, chrome-extension://YOUR_EXTENSION_ID.
  4. Para enviarla, haz clic en Registrarse.
  5. Copia el token proporcionado y agrégalo a cada página web de tu origen o archivo de la extensión en la que deseas que se habilite la prueba.
  6. Comienza a usar la API de Translator.

Obtén más información para comenzar a usar las pruebas de origen.

Agrega compatibilidad con localhost

Para acceder a la API de Translator en localhost durante la prueba de origen, debes actualizar Chrome a la versión más reciente. Luego, sigue estos pasos:

  1. Abre Chrome en una de estas plataformas: Windows, Mac o Linux.
  2. Ve a chrome://flags/#translation-api.
  3. Selecciona Habilitado.
    • Si quieres probar muchos pares de idiomas, selecciona Habilitado sin límite de paquetes de idioma.
  4. Haz clic en Reiniciar o reinicia Chrome.

Usa la API de Translator

Para determinar si la API de Translator es compatible, ejecuta el siguiente fragmento de detección de funciones.

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

Cómo verificar la compatibilidad con pares de idiomas

La traducción se administra con paquetes de idioma que se descargan a pedido. Un paquete de idioma es como un diccionario para un idioma determinado. Estos paquetes se vinculan con la función canTranslate() asíncrona, que te permite determinar si se admite un par de idiomas.

La función canTranslate() requiere un parámetro options con dos campos:

  • sourceLanguage: Es el idioma actual del texto.
  • targetLanguage: Es el idioma final al que se debe traducir el texto.

Usa códigos cortos de idioma BCP 47 como cadenas. Por ejemplo, 'es' para español o 'fr' para francés.

await translation.canTranslate({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});
// 'readily'

La función canTranslate() puede mostrar cualquiera de los siguientes resultados:

  • no: Este navegador no puede realizar la traducción solicitada.
  • readily: El navegador puede traducir según se solicite.
  • after-download: El navegador puede realizar la traducción, pero solo después de descargar los paquetes de idioma o modelo relevantes.

Puedes escuchar el progreso de la descarga con el evento downloadprogress:

translator.ondownloadprogress = progressEvent => {
  updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};

Si la descarga falla, se dejan de emitir los eventos downloadprogress y se rechaza la promesa ready.

Crea y ejecuta el traductor

Para crear un traductor, llama a la función translation.createTranslator() asíncrona. Al igual que canTranslate(), requiere un parámetro de opciones con dos campos, uno para sourceLanguage y otro para targetLanguage.

// Create a translator that translates from English to French.
const translator = await self.translation.createTranslator({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});

Una vez que tengas un traductor, llama a la función translate() asíncrona para traducir tu texto.

await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"

Limitaciones de la prueba de origen

Se aplican las siguientes limitaciones durante la prueba de origen.

Pares de idiomas compatibles

Por el momento, se pueden descargar hasta tres paquetes de idioma para la traducción. Nos comprometemos a expandir la variedad de idiomas admitidos en versiones futuras y, al mismo tiempo, mantener altos estándares de privacidad del usuario. Puedes confirmar si el par de idiomas que necesitas es compatible con la función canTranslate().

Es posible que ciertos pares de idiomas que se usan con menos frecuencia se usen para la creación de huellas digitales. Por ejemplo, es más común traducir entre inglés y español que entre idiomas menos comunes, como el gaélico y el catalán. Un par de idiomas menos común podría considerarse un dato para la identificación del usuario.

Durante la prueba de origen, limitamos los posibles pares de idiomas traducibles para proteger la privacidad del usuario. Los pares de idiomas deben cumplir con los siguientes criterios:

  • Tanto el idioma de origen como el de destino se configuran como idiomas preferidos en Chrome.
  • O bien, uno de los idiomas está configurado como idioma preferido en Chrome y el otro está entre los siguientes idiomas populares:
    • Inglés (en)
    • Chino mandarín (zh; simplificado) o mandarín de Taiwán (zh-Hant; tradicional)
    • Japonés (ja)
    • Portugués (pt)
    • Ruso (ru)
    • Español (es)
    • Turco (tr)
    • Hindi (hi)
    • Vietnamita (vi)
    • Bengalí (bn)

Cómo omitir las restricciones de idioma para las pruebas locales

Para el prototipado local, puedes omitir estas verificaciones ejecutando Chrome con la opción de línea de comandos --disable-features=TranslationAPIAcceptLanguagesCheck. Como alternativa, establece chrome://flags/#translation-api en Habilitar sin límite de paquetes de idioma.

Ve a chrome://on-device-translation-internals/ para instalar y desinstalar paquetes de idioma de forma manual.

Traducciones secuenciales

Las traducciones se procesan de forma secuencial. Si envías grandes cantidades de texto para que se traduzca, las traducciones posteriores se bloquearán hasta que se completen las anteriores.

Para obtener la mejor capacidad de respuesta de tus solicitudes de traducción, agrúpalas y considera mostrar una interfaz de carga, como un ícono giratorio, para indicar que se está realizando una traducción.

Disponibilidad de los trabajadores web

Durante la prueba de origen, la API de Translator solo se admite desde el subproceso principal. Tenemos la intención de admitirlo en los trabajadores web una vez que la API esté disponible de forma general.

Demostración

Puedes ver la API de Translator, que se usa en combinación con la API de Language Detector, en el campo de pruebas de las APIs de Translator y Language Detector.

Esfuerzo de estandarización

Estamos trabajando para estandarizar la API de Translator y garantizar la compatibilidad con varios navegadores.

Nuestra propuesta de API recibió apoyo de la comunidad y se trasladó al grupo comunitario de Web Incubator del W3C para que se analice en más detalle. El equipo de Chrome solicitó comentarios al grupo de arquitectura técnica del W3C y a Mozilla y WebKit para conocer sus posiciones sobre los estándares.

Participa y comparte comentarios

Únete a la prueba de origen para comenzar a probar la API de Translator ahora y comparte tus comentarios. Tus comentarios pueden afectar directamente la forma en que compilamos e implementamos las versiones futuras de esta API y todas las APIs de IA integradas.