Qué idioma es ese? Cómo identifico texto desconocido
Encontré una nota adhesiva en mi apartamento escrita en un idioma que no podía leer. Lo que empezó como un rompecabezas se convirtió en un sistema práctico para identificar cualquier texto que encuentro online.
Hace unos años, encontré una nota adhesiva pegada en la parte inferior de mi escritorio. Estaba escrita a mano en una escritura que no podía leer — curvas elegantes y sinuosas que no se parecían en nada al alfabeto latino. No tenía idea de qué idioma era. Pregunté a mis compañeros de piso. Nadie lo sabía. Estuvo allí durante meses, este pequeño misterio pegado a mi espacio de trabajo.
Eventualmente lo resolví subiendo una foto a un foro online. Era tibetano. Algún inquilino anterior había dejado una bendición de buena suerte. Pero la experiencia inició algo en mí: cada vez que me encuentro con un idioma que no reconozco, quiero identificarlo inmediatamente.
Hoy en día tengo un sistema bastante fiable para averiguar en qué idioma está cualquier texto, y empieza con la herramienta más simple que la mayoría pasa por alto: el rango de caracteres Unicode.
Cada escritura en el mundo tiene un bloque designado de puntos de código Unicode. Los caracteres cirílicos viven en U+0400 a U+04FF. El árabe está en U+0600 a U+06FF. El hangul (coreano) está en U+AC00 a U+D7AF. Si copias un carácter extraño en una herramienta de búsqueda Unicode — y hay varias buenas — puedes ver instantáneamente a qué bloque de escritura pertenece. Eso lo reduce enormemente.
Una vez que conoces la escritura, a menudo puedes adivinar el idioma. El cirílico podría ser ruso, ucraniano, búlgaro, serbio o una docena más. La escritura árabe podría ser árabe, persa, urdu o pastún. El siguiente paso es buscar palabras comunes. Aquí es donde los códigos de idioma se vuelven útiles.
Los códigos de idioma son los identificadores de dos y tres letras definidos por el estándar ISO 639. "en" es inglés, "fr" es francés, "ja" es japonés. Los navegadores los usan en el atributo lang. Las APIs los usan en las cabeceras Accept-Language. Conocerlos te ayuda a usar herramientas de traducción y detección más eficazmente. Si le dices a Google Translate que detecte desde "auto" normalmente funciona, pero especificar la escritura primero le da una gran ventaja.
Mantengo un mapa mental de las escrituras más frecuentemente confundidas. El hindi y el nepalí ambos usan devanagari. La diferencia está en las palabras comunes y los diacríticos. El tailandés y el laosiano se parecen a un ojo no entrenado pero usan diferentes marcas de tono. El truco no es aprender cada escritura — eso lleva años — sino aprender a distinguirlas rápidamente usando tablas de referencia.
Para texto físico como mi nota del escritorio, uso una combinación de coincidencia visual de patrones y comunidades online. Cámara del teléfono, un recorte rápido, y publicar en un subreddit de identificación de idiomas. Normalmente recibo una respuesta en una hora.
Para texto digital, escribí un pequeño bookmarklet que resalta todos los bloques de escritura en una página y me muestra el código ISO 639-1 para cada idioma detectado. No es perfecto, pero es rápido. Cuando llego a una página en un idioma que no reconozco, puedo identificarlo antes de decidir si recurrir a un traductor.
Esa nota adhesiva tibetana permaneció en mi escritorio mucho después de haberla identificado. Dejó de ser un misterio y se convirtió en un recuerdo. Y ahora cuando la gente viene y pregunta qué dice, puedo contarles toda la historia.