No adivines mi idioma
(vitonsky.net)- Si un servicio web decide el idioma mostrado con geolocalización por IP, usuarios con VPN, de viaje, viviendo en el extranjero o en países multilingües pueden ver un idioma que no desean
- País e idioma no tienen una relación 1:1: Belgium usa 3 idiomas, Switzerland 4, India 22 idiomas oficiales, y Canada es oficialmente bilingüe
- El navegador envía el encabezado Accept-Language según la configuración del SO o del navegador; un ejemplo es
Accept-Language: en-US,en;q=0.9,de;q=0.8 - Una mejor implementación es priorizar
Accept-Languagey recordar el idioma que el usuario cambió manualmente con cookies o parámetros en la URL - GeoIP debería usarse para áreas donde la ubicación sí importa, como moneda, envíos o requisitos legales, y no para la selección de idioma, para distorsionar menos la preferencia del usuario
La geolocalización por IP no indica la preferencia de idioma
- Una dirección IP solo muestra desde dónde llegó la solicitud; no dice qué idioma quiere o entiende el usuario
- Con VPN, viajes, residencia en el extranjero o países con varios idiomas oficiales, la selección de idioma basada en IP falla con facilidad
- País e idioma no se corresponden de forma simple
- Belgium: 3 idiomas oficiales
- Switzerland: 4 idiomas oficiales
- India: 22 idiomas oficiales
- Canada: oficialmente bilingüe y, de manera no oficial, un entorno multilingüe
- A los usuarios de VPN se les puede mostrar un idioma aleatorio cada vez que cambia su IP, y hay casos en que al entrar a Google aparece un idioma que no entienden
- Si se prioriza una base de datos de IP incorrecta por encima de la información de idioma del navegador, el usuario termina recibiendo un idioma de interfaz que no quiere
Se debe priorizar el Accept-Language del navegador
- Todos los navegadores envían el encabezado
Accept-Languagecon los idiomas preferidos del usuario - Este valor se basa en la configuración del SO o del navegador, no en la ubicación ni en la IP
- Ejemplo:
Accept-Language: en-US,en;q=0.9,de;q=0.8
- Un flujo de manejo razonable es simple
- Leer
Accept-Language - Respetar ese valor
- Permitir que el usuario cambie el idioma si lo necesita
- Recordar esa elección en cookies o parámetros de la URL
- Leer
- Incluso si se necesita GeoIP, lo adecuado es limitarlo a áreas como moneda, envíos o requisitos legales, no al idioma
1 comentarios
Opiniones de Hacker News
Que no se respete Accept-Language es realmente irritante.
Peor aún, muchos sitios multilingües traducen incluso el botón para cambiar de idioma y la lista de idiomas al idioma actual, un diseño tonto que arruina el propósito mismo.
Wikipedia lo hace bien. El botón para cambiar de idioma es claro con un ícono multilingüe universal, la lista de idiomas muestra el nombre de cada idioma en ese mismo idioma, por lo general los deja en orden alfabético y sube arriba los candidatos más probables.
Por ejemplo, una página de Wikipedia en inglés muestra idiomas recomendados como
Deutsch,Français,Nederlands. Si uno asume el idioma a la fuerza, todos terminan cansándose; basta con hacerlo como Wikipedia.Algunos tienen botón para cerrar, pero muchos no, y eso lo vuelve más molesto.
中文eItalianocomo recomendaciones; el resto estaba agrupado por regiones geográficas y no parecía estar exactamente en orden alfabético.En la parte de Europa parece haber un grupo de alfabetos cirílicos, pero
Қазақшаaparece después deУкраїнська; no es correcto ni según el kazajo, y también puede ser inesperado para alguien que no conoce laҚ. Los idiomas chinos tampoco parecen estar ordenados por número de trazos, y el coreano está debajo.La localización de Wikipedia es excelente, pero esto es un pequeño agregado sobre lo ambiguo que puede ser el “orden alfabético” cuando los nombres de los idiomas se muestran en su propio idioma.
El documento de soporte de Google https://support.google.com/youtube/answer/87604 explicaba en inglés qué botones había que tocar, pero yo no sabía amárico y en ese momento ni siquiera sabía qué idioma era. La traducción del iPhone tampoco reconocía ese idioma etíope.
Fue una situación incómoda que se habría evitado fácilmente con un solo ícono multilingüe universal.
Pero si aparece un sistema de escritura desconocido, como el bengalí, ahí sí se vuelve un problema.
Por eso, en todos los menús de selección de idioma puede ser buena idea incluir inglés y chino sin localizar, como vía de escape. Casi todos los usuarios web podrían reconocerlos lo suficiente como para tantear el menú y encontrar su idioma real.
También odio la “función” de YouTube que traduce automáticamente los títulos de los videos al idioma configurado. Puedo entender inglés, no necesito esas traducciones automáticas y son realmente molestas.
Si no sé el idioma, probablemente ese video no sea para mí. Los videos dirigidos a una audiencia internacional casi siempre están en inglés, o al menos el creador ya los tradujo por su cuenta.
Los títulos son frases cortas y les falta contexto para traducir bien. Una vez vi en portugués un título como
Vamos assistir uma conexão com o passado, que traducido literalmente sería “veamos una conexión con el pasado”; tuve que hacer una traducción inversa en mi cabeza para darme cuenta de que el título original eraLet's play A Link to the Past.El material en línea también sirve para practicar un segundo idioma, así que preferiría que no subestimaran mi capacidad. Como mínimo, déjenme leer el original; si lo necesito, puedo usar Google Translate o un diccionario.
Admito que esta función amplía el acceso al contenido en línea, pero si empeora la experiencia, al menos deberían permitir desactivarla.
Cosas como
Lidl is worth it, ja!.Varios YouTubers que veo seguido están ampliando idiomas con pistas de audio traducidas hechas por fans, y a veces el inglés es una de ellas. Cada vez que veo esos videos, los juegos de palabras o significados ocultos del idioma original se pierden en la traducción, así que tengo que cambiar manualmente al idioma original.
Como a YouTube no le gustan Firefox ni las extensiones relacionadas con YouTube, muchas veces el video empieza antes de que se carguen todos los controles, así que incluso tengo que rebobinar después de cambiar la pista de idioma.
En otra respuesta enlazaron una extensión que ayuda, así que pienso probarla, pero molesta que en la configuración de YouTube no exista un simple interruptor de “usar siempre el idioma original”. Si quiero audio traducido, puedo activarlo yo, y como manejo varios idiomas hasta cierto punto, eso rara vez aplica al contenido que veo.
Si fuera para dificultar el bloqueo de anuncios o para empujar publicidad, al menos lo entendería, pero esto es simplemente una “comodidad” mal implementada. Aun así, seguro algún PM recibió felicitaciones.
Pero si me muestran un título en noruego mal traducido por máquina en lugar de un título en inglés que puedo leer, por experiencia eso es una señal de que el canal es un canal de baja calidad que persigue al algoritmo, así que termino pulsando “No recomendar este canal”.
No me gusta este diseño porque parte de la suposición implícita de que “todas las personas entienden un solo idioma”
Puedo leer tu idioma cómodamente y, por lo general, prefiero el original a una mala localización. Por eso, si intentas adivinar mi idioma preferido con base en la IP, casi seguro te vas a equivocar
Ya estoy indicando qué idiomas puedo usar mediante la configuración de idioma del navegador; no hay razón para suponer que el usuario no es lo bastante inteligente como para configurarla bien
El doblaje con IA activado por defecto en YouTube es aún peor. En más o menos la mitad de los videos que veo, tengo que abrirlos, entrar a la configuración, desactivar el doblaje con IA, rebobinar hasta el inicio y volver a empezar. No toma mucho tiempo, pero es tremendamente molesto
También odio que los títulos aparezcan traducidos. Es muy raro ver un video en el que se habla en inglés pero el título está en otro idioma
No hablo español con fluidez, pero una buena forma de llegar a dominarlo es consumir contenido en el idioma original, y YouTube lo hace más difícil
Lo más irritante es Google. Sabe quién soy, sabe que estoy viajando y sabe que mi preferencia de idioma es el inglés, pero en ciertas páginas todavía me muestra el idioma según mi ubicación
Ya que permití que Google me rastree, me gustaría que lo usara no solo para anuncios, sino también para una buena experiencia de usuario
Aunque vivo en Estados Unidos, Google intenta darme resultados en español incluso en búsquedas relacionadas con el catalán. Por ejemplo, prefiere Wikipedia en español. El comportamiento del buscador ha subido y bajado con los años, pero nunca ha sido bueno
Es un gran problema para mis hijos, que no entienden español, y también para las zonas catalanohablantes que no están en España, incluida Andorra
Gemini marcaba fácilmente el contenido en catalán como inseguro y bloqueaba la continuación de la conversación. Pasaba incluso con prompts como “resúmeme este artículo”; quizá haya mejorado recientemente
Antes, Google era un ejemplo de gran empresa responsable y sensible a la diversidad del mundo. Aún valoro el esfuerzo de muchos equipos, pero parece claro que ya no es una prioridad
Últimamente parece haber decidido que traducir automáticamente al inglés las reseñas de Maps en el idioma local está mal. Traduce al inglés todos los demás idiomas, pero como vivo en esa zona, asume que también sé el idioma local y que no necesito inglés
Lo mismo pasa con los resultados de búsqueda. Como llevo mucho tiempo ahí, da por hecho que quiero la Wikipedia en el idioma local. Solo busco en el idioma local porque, para encontrar información local, tengo que hacerlo así, pero lo interpreta como una señal de preferencia
Esto aplica a toda la tendencia de que “el software debe adivinar inteligentemente todas las preferencias”. Cuesta entender por qué Google sigue haciéndolo cuando falla de forma tan consistente, salvo por una arrogancia corporativa equivocada
Me dijo que, por eficiencia, el renderizado del contenido tiene etapas, y que cuando se construye la estructura de la página principal todavía no se tiene la información del usuario. Pero incluso en esa etapa el encabezado Accept-Language debería estar disponible de inmediato, así que no me parece lógico
Cambiar el país no era fácil, y tenía que renunciar al país anterior y a sus apps. Como suelo ir y venir, terminé comprando un segundo teléfono y creando una cuenta para el país nuevo
Me da risa porque se siente como si siguiera haciéndolo para poder cobrarle al anunciante, aunque debería saber perfectamente que no los entiendo
Un principio mucho más importante es no traduzcas automáticamente el contenido al idioma del usuario
Basta con mostrar el idioma en el que realmente existen los datos. Si el usuario quiere, es lo bastante inteligente como para pulsar el botón “Traducir” del navegador, y probablemente esa traducción sea mejor
El inglés no es mi lengua materna ni mi segunda lengua, pero lo entiendo lo suficiente como para usarlo a diario en el trabajo. No quiero tener que hurgar entre un montón de basura traducida automáticamente para encontrar el botón que me permita leer la versión original en inglés
Curiosamente, este problema ocurre sobre todo con el inglés. Los sitios en otros idiomas normalmente no hacen eso, y ese solo hecho ya es una señal suficiente de que a los visitantes extranjeros no les gusta
Si vas a usar traducción automática en un sitio web, antes de publicar deberías hacer una traducción de ida y vuelta para todos los idiomas. Traduce, pega el resultado de nuevo y vuelve a traducirlo al idioma original; así verás más o menos qué era lo que ibas a publicar. Es mejor no hacerlo
Aunque no supiera inglés, no creo que valiera la pena leer ese contenido traducido
La función para cambiar el idioma o ver el original es difícil de encontrar, y varía según si usas la app, la web móvil o la web de escritorio
Que se esfuercen tanto en hacerte descargar la app es otro problema aparte
La suposición de que “todos los navegadores envían el encabezado Accept-Language, indican el idioma preferido según la configuración del sistema operativo o del navegador del usuario, y el usuario puede cambiarlo si quiere” también está rota.
Para empezar, Accept-Language es una lista ordenada, pero las personas que usan varios idiomas a diario muchas veces no tienen un orden absoluto de preferencia, sino preferencias según el tema.
Aunque un sitio de noticias en inglés tenga una versión traducida al francés, uno podría querer la versión en inglés aunque domine mejor el francés.
Por eso el usuario termina indicando el idioma más práctico, no su preferencia real. Por ejemplo, los sitios locales que no están en inglés suelen hacer menos trucos que los sitios internacionales en inglés, así que si se configura el idioma solo en inglés, los primeros fuerzan la visualización en inglés y la mayoría de los demás sitios se ven poco afectados.
En esos casos, incluso ayuda que un sitio francés ignore todas las preferencias y, por defecto, empuje la versión en francés.
Al final, lo que quisiera es que los operadores de sitios no intenten hacerse los inteligentes y ofrezcan una interfaz muy clara y rápida para cambiar a otra versión. Wikipedia lo hace bastante bien.
Si se trata de un sitio web multilingüe, solo debería ofrecer conjuntos de traducciones completos y verificados. Traducir la UI y el contenido propio a algunos idiomas puede tener sentido para una empresa según su público objetivo, pero hay que mantener todo eso y mantenerlo sincronizado.
El contenido de los usuarios no debería tocarse. No debería traducirse automáticamente, salvo que sea como función de ayuda bajo un botón del estilo “Se detectó español. Haz clic para ver una traducción automática al inglés”, y de hecho incluso eso sería mejor dejárselo al navegador.
Basta con elegir el idioma mediante Accept-Language y ofrecer además una forma de cambiarlo.
En realidad, Wikipedia no ofrece traducciones del mismo contenido de esa manera. Cada idioma es una instancia separada y, salvo por los textos de la UI de MediaWiki, no son traducciones del mismo artículo, sino artículos distintos en otros idiomas con partes que se solapan. La versión en neerlandés de la entrada
Languageno afirma ser una traducción neerlandesa del mismo texto, y está deliberadamente en un subdominio y una ruta distintos.Creo que hay mucho margen de mejora tanto del lado de los navegadores como de los sitios web.
Los sitios web deberían permitir que el usuario sobrescriba el idioma solicitado por el navegador. Los navegadores también deberían permitir elegir por sitio opciones como “valor predeterminado del sitio”, “solicitar el idioma predeterminado del sistema”, “solicitar inglés”, “solicitar chino”, “solicitar español”, etc.
La mejor forma sería que el sitio exponga la lista de idiomas que admite. Por ejemplo, podría estar en
manifest.json: https://developer.mozilla.org/en-US/docs/Web/Progressive_web... El formato podría ser algo comoMap>.La selección de idioma debería hacerse del lado del cliente, no del servidor.
Si quieres la versión en inglés aunque un sitio de noticias en inglés tenga una traducción al francés, basta con poner ambos idiomas con la misma prioridad.
Viendo la realidad de que muchos sitios, quizá casi todos, no respetan el encabezado Accept-Language, es difícil creer que los usuarios estén haciendo ese cálculo de teoría de juegos en su cabeza al elegir esta configuración.
Una vez me tocó un proyecto para implementar accesibilidad y soporte multilingüe en un sitio vinculado al gobierno.
Usamos Accept-Language para elegir el idioma predeterminado entre los idiomas soportados, pero el PM revirtió esa decisión y forzó el inglés como predeterminado.
El auditor de accesibilidad marcó “uso de Accept-Language” como un punto rojo en el informe de auditoría y, al enterarse de que al principio se había implementado así y luego se había revertido, reprendió duramente a la empresa.
Gracias a eso y a decisiones tontas similares, terminamos trabajando varias semanas más en el contrato.
Ya que parece un espacio para desahogarse sobre quejas de idioma, también tengo una queja sobre Apple TV.
Tengo familia que solo habla japonés y mi cuenta de Apple es de Finlandia. Intentamos ver juntos
The Martian, pero aunque claramente existía una pista de audio con doblaje al japonés, no se podía seleccionar.Directamente no muestra opciones que no estén relacionadas con el país de la cuenta, y para saltarse eso hay que cambiar toda la cuenta de Apple a otro país.
Pero si tienes una suscripción activa de Apple TV, tampoco puedes hacer ese cambio. En consecuencia, mi familia no pudo ver Apple TV junta.
Si no recuerdo mal, hay una configuración de idioma de la cuenta, y para ver
Kim's Conveniencehabía que configurarla en inglés. No hace falta VPN ni fingir estar en otro país, pero si no configuras el idioma correcto, oculta el contenido.Pasaba incluso cuando uno veía el contenido con subtítulos en inglés desde la UI en finlandés.
Cuando estás en el extranjero es realmente absurdo, y aun estando en tu país de origen, en casos en los que la versión localizada no es equivalente, como con la documentación de programación, resulta molesto.
Incluso en el caso ideal, es muy probable que prefieras el original en inglés, y en la práctica muchas veces es traducción automática, lo que lo vuelve mucho peor.
Otra cosa extremadamente irritante que se ve cada vez más últimamente es que en los resultados de búsqueda aparezcan versiones traducidas automáticamente del contenido. Reddit ahora lo hace, y es terrible.
Una de las principales razones para usar términos de búsqueda que no están en inglés es obtener resultados que no estén en inglés. Por ejemplo, cuando buscas información sobre temas que no aplican a todo el mundo.
El resto del mundo puede entender bien varios idiomas.
No he probado si se basa en la ubicación o en Accept-Language, pero su comportamiento realmente provoca enojo.
Si hago una búsqueda web, aparece el resultado de la versión en inglés; al abrirlo, en cuanto se carga JavaScript cambia a PT-BR, y unos segundos después, cuando la página termina de cargar por completo, vuelve al inglés, dejando el slug
/pt-br/en la URL.Es demasiado evidente que la traducción no fue hecha ni revisada por una persona. Además, yo uso PT-PT, así que las diferencias con PT-BR lo hacen todavía más irritante.
Hace tiempo hice un pequeño sistema que parseaba Accept-Language, ponderaba las prioridades del usuario y elegía, entre lo que ofrecíamos, el idioma más cercano a su preferencia.
Por ejemplo, si teníamos traducción al portugués de Brasil pero no al portugués de Portugal, a un usuario que pedía este último le ofrecíamos el primero, pero si había una coincidencia exacta con menor prioridad, usábamos esa.
Técnicamente funcionaba bien, el código era limpio y además fue divertido hacerlo.
Pero desde la perspectiva del usuario, la mayoría simplemente quería inglés, sin importar el encabezado Accept-Language. Se podía cambiar desde el pie de página, pero parece que no era lo bastante visible.
Ahora simplemente preguntamos, y los usuarios están más satisfechos.
Es difícil saber cómo quedarte en la página en la que hiciste clic. No queda claro si el botón “continue” aplica el valor preseleccionado o si solo cierra el popup y sigue mostrando la página actual.
Si es lo primero, tampoco sé si el valor preseleccionado es el idioma de la página actual u otro idioma, y termino preguntándome si debo adivinar el locale actual, seleccionarlo y luego cerrar el popup. Incluso pienso si podría eliminar el modal con las herramientas de desarrollador y saltármelo. Hasta un pequeño botón de cerrar es un lujo en estos muros de idioma.
95 de cada 100 veces estoy bien con el idioma en el que venía la página que abrí. Si necesito información de envíos regionales u opciones de pago de la versión alemana, buscaré el selector de idioma arriba a la derecha o en el pie de página.
Creo que la web sería mucho más feliz si solo estuviera en uno de esos dos lugares y no aparecieran popups de JavaScript todo el tiempo.
Me interesa el patrón para ofrecer opciones. Es bueno que este artículo rechace los íconos, pero no me gusta la forma en que reduce varias regiones a un solo idioma: https://usersnap.com/blog/design-language-switch/