Pregunta ¿Cómo deben tratar los sitios (Google y / o usted) el encabezado Aceptar idioma?


Durante mucho tiempo, no he estado satisfecho con el comportamiento de Google en los casos que figuran a continuación, y después de haberlo notado accidentalmente Más de 80 personas sentir de la misma manera (y más de 20 personas votaron la idea del informe de errores de Google), pensé que era útil aprovechar la sabiduría de SO sobre los protocolos HTTP y la cultura web.

Este comportamiento aparece cada vez que voy a un país diferente y acceso google.com desde mi computadora portátil o instalar un nuevo navegador. En muchos países, incluido Vietnam, google redirige automáticamente a una versión localizada (p. google.com.vn), el que realmente no puedo leer, así que lo escaneo en un intento desesperado de encontrar Google.com en inglés enlazar.

La primera vez que sucedió, me quedé perplejo y pasé algún tiempo averiguando qué podía haber mal con mis encabezados de solicitud; como esperaba, mi Accept-Language es siempre en-US o algo así como en-US,ru;q=0.5. Pruebas adicionales con diferentes direcciones IP confirmaron que hacen geolocalización IP, incluso cuando estás conectado. Más tarde supe que hay una consulta de idioma ?hl=..., pero aún.

Entonces, mi pregunta sería: ¿crees que esto es un comportamiento razonable y esperado, sabio en la web? ¿Otros sitios lo hacen también? Si diseñara un sitio multilenguaje, ¿qué haría con una persona que proviene de .vn IP pero con en-US ¿idioma?

Me imagino que hay diferentes enfoques para la geolocalización de IP:

  • contra: Creo que esto es descortés: te digo explícitamente lo que quiero, ¿Qué hay de bueno en darme algo más?

  • Pro: Podría ser que una persona acaba de instalar el navegador con el paquete de idioma predeterminado, sin ninguna idea sobre Accept-* encabezados, y aún preferiría ver la versión traducida de un sitio web.

  • contra: Y sin embargo, las personas no tecnológicas pueden cambiar fácilmente el lenguaje de aceptación instalando un paquete de idioma. De hecho, si va a descargar Firefox, es probable que descargue el que está en el idioma que desea, con el encabezado de aceptar idioma que respete sus deseos.

Tenga en cuenta que leí el Especificación HTTP 1.1 desde 1999 pero parecen omitir la pregunta de cuánto el Accept-Language debe ser realmente tomado en consideración.

Creo que esta pregunta pertenece a SO como una pregunta de diseño de aplicación web. Y todavía estoy pensando en presentar un informe de error formal (si estoy en lo cierto con respecto a que este comportamiento está lejos de los estándares web).


12
2018-06-19 23:39


origen


Respuestas:


Creo que en realidad hay dos cuestiones diferentes en juego aquí. Idioma y país Definitivamente no son lo mismo. La especificación HTTP define explícitamente el campo Accept-Language request-header como idioma especificador, no un especificador de país.

Por ejemplo: en-US se refiere a un idioma específico (la versión de inglés que se habla principalmente en los Estados Unidos), en-GB se refiere a otro idioma (la versión de inglés que se habla principalmente en el Reino Unido). Esto realmente no tiene nada que ver con el lugar donde se encuentra actualmente en el mundo, solo define qué idioma es más aceptable para usted cuando visita un sitio web. Y eso debería ser respetado porque incluso los usuarios novatos deben tener un navegador en su idioma que enviará por defecto el campo de encabezado de solicitud correcto.

Pero eso no es lo que tradicionalmente usan los sitios como. Al igual que en otro cartel, me he dado cuenta de que los sitios equiparan el idioma con el país y adaptan su sitio a las características únicas de ese país. político restricciones / libertades / ofertas de la compañía allí, no necesariamente para el idioma. El ejemplo dado fue una empresa que no vende un producto en particular en un país en particular, pero sí lo hace en otros.

En el caso de qué productos mostrar para diferentes países, la ubicación geográfica de la dirección IP sería mejor que tomar decisiones basadas en el idioma, pero aún así no sería perfecto. ¿Qué sucede si estoy en otro país temporalmente pero quiero pedir algo y enviarlo a casa? ¿Qué pasa si mi dirección de IP no refleja dónde estoy físicamente, no es perfecta?

Sí, las cosas funcionan correctamente para la mayoría de las personas la mayor parte del tiempo. Pero ¿por qué en la Tierra harías difícil que las personas obtengan el sitio en el idioma que piden? Es solo un mal diseño de interfaz de usuario.


7
2018-06-20 03:47



Aunque entiendo e incluso comparto tu frustración, existen razones de peso para hacerlo.

Muchas empresas tienen sitios adaptados a cada país específico. Por ejemplo, porque no venden todos sus productos a cada país, o porque una ley en un país específico impone alguna obligación específica en su sitio (una línea de producto prohibida, un aviso legal agregado, o whater, ...) .

Por lo tanto, le servirán la versión adaptada al país en el que se encuentra porque se supone que es la más útil (no importa que la empresa X venda el producto Y en el país Z si no estoy actualmente en el país Z) .


2
2018-06-20 00:01



Google es inteligente. Me imagino que hacen lo que hacen porque para el mayoria de casos si estás en Vietnam lo más probable es que quieras .vn - somos personas técnicas, por lo que sabemos todo sobre el lenguaje de aceptación y demás, pero la gran mayoría de las personas no.

Una vez dicho esto, creo que una cosa que podrían, al menos, ser cortés con el encabezado de aceptar el idioma, es mostrar algún tipo de notificación (algo así como los banners que se muestran en este sitio web) diciendo algo así como "Buscar Google en inglés" ? Haga clic aquí "si el encabezado indica que quieren inglés, aunque puede que eso no funcione para Google (ya que no lo hacen), ciertamente lo consideraría si estuviese haciendo un sitio web multilingüe.


1
2018-06-19 23:43



Apuesto a que hay más personas que usan software que no utilizan correctamente este valor de encabezado HTTP que las personas que viven en un país y no hablan ni leen la lengua materna. Eso explicaría el comportamiento de Google.


1
2018-06-19 23:43



Comparto tu frustración. Me ha decepcionado una gran cantidad de sitios. La mayoría hace geolocalización IP, pero obviamente no tiene idea de la configuración de cultura del navegador. Huelga decir que la ubicación del usuario es una fuente de información poco confiable sobre el idioma y la cultura que prefiere el usuario. Especialmente en los tiempos de la globalización donde los pueblos y las culturas están muy mezclados.

Tenga en cuenta que leí la especificación HTTP 1.1 de 1999 pero parecen omitir la pregunta de cuánto debe aceptar realmente el Accept-Language.

Esta configuración es apoyada activamente por los navegadores modernos. No hay una buena razón para no tomarlo en consideración. Si el encabezado no está presente en la solicitud, realice la geolocalización, de lo contrario respete la configuración de cultura del usuario.


1
2017-11-04 10:23



Soy de Letonia, prefiero el inglés. Firefox envía en-US por defecto, IE envía lv-LV (aunque es versión en inglés) debido a la configuración regional de Windows. Entonces accept-header no es confiable.

En mi humilde opinión, la mejor manera es hacer una geolocalización y una verificación de idioma de aceptación,

si la región y el idioma coinciden => redirigir automáticamente si no hay coincidencia => sirva su mejor suposición y déle al usuario una opción (tal vez la esquina superior derecha de la pantalla sea el mejor lugar para el cambio de idioma ya que es más o menos estándar de UI) + recuerde esa opción en una cookie


1
2017-09-06 13:37



Supongo que un porcentaje significativo de personas en países que no hablan inglés usan navegadores que informan Aceptar idioma de inglés (quizás porque usan versiones piratas en inglés, quién sabe).

La mayoría de ellos, aparte de una minoría vocal en un sitio web de programación en inglés :), esperarían ver sitios web en su propio idioma, y ​​la gente común no se preocupa por las especificaciones HTTP. Esto haría que el encabezado Accept-language sea esencialmente inútil, ¡un ejemplo perfecto de cómo el mundo real! = Programador mundo de fantasía.


0
2018-06-20 04:30