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 |
---|---|---|---|---|
GitHub | Ver | Intención de envío |
Antes de traducir texto de un idioma a otro, primero debes determinar cuál es el idioma que 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, se requerirían recursos adicionales para descargarla.
Cuándo usar la detección de idioma
La API de Language Detector es útil principalmente en las siguientes situaciones:
- Determina el idioma del texto de entrada para que se pueda traducir.
- Determina 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.
- Determina 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, solo mostrar 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 atributos 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
Las APIs de Language Detector y Translator solo funcionan en computadoras de escritorio en Chrome.
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 Chrome para Android, iOS y ChromeOS aún no son compatibles con nuestras APIs respaldadas por Gemini Nano.
- Almacenamiento: Al menos 22 GB en el volumen que contiene tu perfil de Chrome
- GPU: Más de 4 GB de VRAM
- Red: Datos ilimitados o una conexión de uso no medido
- GPU: Más de 4 GB de VRAM
- Red: Datos ilimitados o una conexión de uso no medido
Estos requisitos existen para ti en tu proceso de desarrollo y para los usuarios que trabajan con las funciones que compilas.
Descarga del modelo
La detección de idioma depende de un modelo que se ajusta para la tarea específica de detectar idiomas. Mientras la API se compila 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. 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 LanguageDetector.availability()
asíncrona e inspecciona la promesa resultante.
Existen tres respuestas posibles:
"unavailable"
: Las opciones solicitadas no son compatibles o no se puede solicitar el modelo."downloadable"
: La solicitud es compatible, pero se necesitan descargas adicionales antes de que puedas crear una sesión. Estas descargas pueden incluir el modelo de lenguaje o el ajuste fino."downloading"
: La solicitud es compatible y se está realizando una descarga, que se debe completar antes de crear una sesión."available"
: La solicitud es compatible y puedes crear una sesión.
Para activar la descarga y crear una instancia del detector de idioma, llama a la función LanguageDetector.create()
asíncrona. 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 cuál es el idioma más probable que se usa en un fragmento de texto determinado. El clasificación 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 la probabilidad más alta a la más baja.
La función detect()
puede mostrar 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
// ...
API Playground
Experimenta con la API de Language Detector en nuestro campo de pruebas 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 a Mozilla y WebKit para conocer sus posiciones sobre los estándares.
Comparte tus comentarios
Queremos ver lo que estás compilando 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.