Fecha de publicación: 24 de septiembre de 2024; última actualización: 20 de mayo de 2025
Explicación | Web | Extensiones | Estado de Chrome | Intent |
---|---|---|---|---|
MDN | Ver | Intención de enviar |
Antes de traducir texto de un idioma a otro, primero debes determinar qué idioma se usa en el texto determinado. Anteriormente, la traducción requería subir el texto a un servicio en la nube, realizar la traducción en el servidor y, luego, descargar los resultados.
La API de Language Detector funciona del lado del cliente, lo que significa que puedes proteger la privacidad del usuario. Si bien es posible enviar una biblioteca específica que haga esto, requeriría recursos adicionales para descargarla.
Cuándo usar la detección de idioma
La API de Language Detector es principalmente útil en las siguientes situaciones:
- Determinar el idioma del texto de entrada para que se pueda traducir
- Determinar el idioma del texto de entrada para que se pueda cargar el modelo correcto para tareas específicas del idioma, como la detección de toxicidad
- Determina el idioma del texto de entrada para que se pueda etiquetar correctamente, por ejemplo, en sitios de redes sociales en línea.
- Determinar el idioma del texto de entrada para que la interfaz de una app se pueda ajustar según corresponda Por ejemplo, en un sitio belga, para mostrar solo la interfaz relevante para los usuarios que hablan francés.
Comenzar
La API de Language Detector está disponible a partir de Chrome 138 estable. Ejecuta la detección de funciones para ver si el navegador admite la API de Language Detector.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
Revisa los requisitos de hardware
Existen los siguientes requisitos para los desarrolladores y los usuarios que operan funciones con estas APIs en Chrome. Es posible que otros navegadores tengan requisitos de funcionamiento diferentes.
Las APIs de Language Detector y Translator funcionan en Chrome en computadoras de escritorio. Estas APIs no funcionan en dispositivos móviles. Las APIs de Prompt, Summarizer, Writer y Rewriter funcionan en Chrome cuando se cumplen las siguientes condiciones:
- Sistema operativo: Windows 10 o 11; macOS 13 o versiones posteriores (Ventura y versiones posteriores); o Linux Las APIs que usan Gemini Nano aún no son compatibles con Chrome para Android, iOS y ChromeOS.
- Almacenamiento: Al menos 22 GB en el volumen que contiene tu perfil de Chrome
- GPU: Estrictamente más de 4 GB de VRAM
- Red: Datos ilimitados o una conexión de uso no medido
El tamaño exacto de Gemini Nano puede variar ligeramente. Para conocer el tamaño actual, visita chrome://on-device-internals
y ve a Estado del modelo.
Abre la Ruta de acceso al archivo que se indica para determinar el tamaño del modelo.
Descarga del modelo
La detección de idioma depende de un modelo ajustado para la tarea específica de detectar idiomas. Si bien la API está integrada en el navegador, el modelo se descarga a pedido la primera vez que un sitio intenta usar la API. En Chrome, este modelo es muy pequeño en comparación con otros modelos. Es posible que ya esté presente, ya que otras funciones de Chrome usan este modelo.
Para ver si el modelo está listo para usarse, llama a la función asíncrona LanguageDetector.availability()
y, luego, inspecciona la promesa resultante.
Existen tres respuestas posibles:
"unavailable"
: No se admiten las opciones solicitadas o no se le pueden dar instrucciones al modelo."downloadable"
: Se admite la solicitud, pero se necesitan descargas adicionales antes de que puedas crear una sesión. Estas descargas pueden incluir el modelo de lenguaje o el ajuste."downloading"
: Se admite la solicitud y hay una descarga en curso, que debe completarse antes de crear una sesión."available"
: Se admite la solicitud y puedes crear una sesión.
Para activar la descarga y crear una instancia del detector de idioma, llama a la función asíncrona LanguageDetector.create()
. Si la respuesta a availability()
fue 'downloadable'
o 'downloading'
, se recomienda escuchar el progreso de la descarga para que puedas informar al usuario en caso de que la descarga tarde.
En el siguiente ejemplo, se muestra cómo inicializar el detector de idioma.
const availability = await LanguageDetector.availability();
let detector;
if (availability === 'unavailable') {
// The language detector isn't usable.
return;
}
if (availability === 'available') {
// The language detector can immediately be used.
detector = await LanguageDetector.create();
} else {
// The language detector can be used after model download.
detector = await LanguageDetector.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
await detector.ready;
}
Ejecuta el detector de idioma
La API de Language Detector usa un modelo de clasificación para determinar qué idioma es más probable que se use en un fragmento de texto determinado. El ranking es un tipo de aprendizaje automático en el que el objetivo es ordenar una lista de elementos. En este caso, la API de Language Detector clasifica los idiomas de mayor a menor probabilidad.
La función detect()
puede devolver el primer resultado, la respuesta más probable o iterar sobre los candidatos clasificados con el nivel de confianza.
Se muestra como una lista de objetos {detectedLanguage, confidence}
. El nivel de confidence
se expresa como un valor entre 0.0
(confianza más baja) y 1.0
(confianza más alta).
const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely. In practice, one would pick the top
// language(s) that cross a high enough threshold.
console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...
Playground de la API
Experimenta con la API de Language Detector en nuestro parque de juegos de la API. Ingresa texto escrito en diferentes idiomas en el área de texto.
Esfuerzo de estandarización
El equipo de Chrome solicitó comentarios al Grupo de Arquitectura Técnica del W3C y les pidió a Mozilla y WebKit sus posturas sobre los estándares.
Comparte tus comentarios
Queremos ver lo que creas con la API de Language Detector. Comparte tus sitios web y aplicaciones web con nosotros en X, YouTube y LinkedIn.
Si tienes comentarios sobre la implementación de Chrome, informa un error de Chromium.