titulo modificar con cambiar javascript internet-explorer firefox google-chrome culture

con - modificar alert javascript



¿Cómo obtener la preferencia de configuración regional actual del navegador usando javascript? (4)

¿Alguien sabe cómo obtener la cultura del navegador desde Firefox y Google Chrome usando javascript? Nota: Esta es una aplicación web asp.net 3.5.

El requisito es intentar establecer la cultura de visualización de la aplicación en función de la cultura del navegador. He encontrado muy pocos bits y piezas de información para los otros navegadores, pero parece que no funcionan.

Puedo obtenerlo en IE con el siguiente fragmento de código:

var browserCulture = this.clientInformation.browserLanguage;

¡Cualquier información sería genial!


Las siguientes propiedades existen en el objeto del navigator (que también se puede conocer como información del clientInformation en IE, pero no hay razón alguna para usar ese nombre):

  • language (no IE, idioma de instalación del navegador)
  • browserLanguage (IE, idioma de instalación del navegador)
  • userLanguage (IE, configuración de idioma del sistema operativo de nivel de usuario)
  • systemLanguage (IE, lenguaje de instalación del sistema operativo)

¡Pero! ¡Nunca debes usar ninguna de estas propiedades! Serán el idioma equivocado en muchos casos.

Ninguno de ellos refleja la configuración de idioma que el usuario realmente configura en la interfaz de usuario de "idiomas preferidos" del navegador, y es difícil o imposible de modificar para los usuarios. Causará una gran frustración al usar cualquiera de estos valores sin una forma manual adicional y fácil de cambiar de idioma.

El lugar correcto que debe olfatear para decidir qué idioma usar de manera predeterminada, según lo configurado por la interfaz de usuario normal del navegador, es el encabezado Accept-Language transferido a su servidor en la solicitud HTTP. Esta es una lista ordenada de idiomas preferidos entre los que puede elegir, y es lo que ASP.NET utiliza para adivinar una Cultura de cliente automática, si la usa.

Lamentablemente, esta propiedad no está disponible en JavaScript.

Lo que normalmente hace es usar su lado del servidor para analizar el encabezado Accept-Language y elegir un solo idioma apropiado para usar desde allí. En ASP.NET puede obtener una lista previamente ordenada de HttpRequest.UserLanguages y elegir la que más le guste.

A continuación, escupir ese nombre de idioma en un elemento <script> para pasar la información de idioma al lado del cliente.


Para obtener la configuración regional en IE, debe escribir el código del lado del servidor. Intenté con servlet y obtuve el idioma de aceptación del IE. Muestra los idiomas que el usuario selecciona. Llame al servlet en su lado del cliente y obtenga la configuración regional.

String name=request.getHeader("accept-language"); AcceptClass ac=new AcceptClass(); ac.setAccLang(name); Gson gs=new Gson(); String json = gs.toJson(ac); response.setContentType("application/json"); response.getWriter().write(json);



navigator.languages es una matriz y contiene todos los idiomas seleccionados en orden. Y solo funciona para Chrome y Firefox.

No es lo mismo que navigator.language y con eso quiero decir que navigator.language no necesariamente coincide con navigator.languages[0] .

Solo para aclarar.