Pregunta

Sé que esta pregunta ha sido contestada antes , pero la respuesta es correcta No es la historia completa:

Entré en el Contenido y opciones de Firefox y eliminé todos los idiomas, excepto el alemán / Alemania, y navigator.language no ha cambiado, aún es en-GB (estoy en el Reino Unido).

Me dicen que si obtengo la INSTALACIÓN de Firefox en alemán funcionará, pero no debería tener que hacerlo, ¿no?

La cadena de usuario también contiene en-GB; pero el lenguaje de aceptación en los encabezados HTTP se establece correctamente. Así que esto parece ser un error en Firefox, pasé un poco de tiempo hojeando su bugzilla, pero no puedo ver este error exacto registrado, aunque para mí, ¿es un descuido bastante grande?

¿Fue útil?

Solución

Recomendaría usar un complemento de Firefox para esta tarea. Selector de configuración regional simple , Locale Switcher o Quick Locale Switcher etc. (* Precaución: algunos de estos complementos pueden contener software publicitario o pueden no funcionar si acabas de actualizar Firefox).

* Otra solución es descargar una versión anterior diferente de Firefox usando el idioma / locale. (Precaución) Lo necesita e instálelo en una carpeta diferente para no sobrescribir su versión existente. Descargue aquí Estoy usando Firefox 28 en español. Deshabilité las actualizaciones y rechacé su uso como mi navegador predeterminado. Solo una versión de Firefox debería ejecutarse al mismo tiempo si haces esto.

Otros consejos

Tanto navigator.language como el encabezado HTTP User-Agent usan el valor de la preferencia " general.useragent.locale " ;, que está codificado en intl.properties con la configuración regional de la compilación de Firefox que descargaste: http: // mxr .mozilla.org / mozilla-central / source / toolkit / locales / en-US / chrome / global / intl.properties # 8

O para su compilación en-GB: http: // hg .mozilla.org / l10n-central / es-ES / file / 88dd673c01f1 / toolkit / chrome / global / intl.properties # l8

Si desea cambiarlo para su compilación, solo cargue about: config, encuentre general.useragent.locale, haga doble clic en él y cambie el valor.

Supongo que navigator.language devuelve el idioma de la interfaz (supongo que es inglés de GB), no uno en el que quiere documentos. La cadena de agente de usuario también informa qué versión de Firefox se descargó.

Aceptar-lenguaje es lo que debe verificar el servidor de destino.

Considero que este comportamiento es bastante correcto (suponiendo que su interfaz (los menús y demás) están realmente en inglés GB).

Si desea el valor de Accept-Language , no puede recuperarlo si usa JavaScript del lado del cliente. Tendrás que obtenerlo de tu servidor.

Si realmente desea este valor en JavaScript del lado del cliente, léalo en el servidor y escríbalo nuevamente al cliente:

<script type="text/javascript">
// setting the accept language HTTP header value
// in client-side JavaScript from PHP
var acceptLanguage = '<?php echo 

Si desea el valor de Accept-Language , no puede recuperarlo si usa JavaScript del lado del cliente. Tendrás que obtenerlo de tu servidor.

Si realmente desea este valor en JavaScript del lado del cliente, léalo en el servidor y escríbalo nuevamente al cliente:

<*>SERVER["HTTP_ACCEPT_LANGUAGE"]; ?>'; </script>

en firefore, about: config, modifique el valor de " intl.accept_languages ??" ;, a su configuración regional requerida, digamos que de-DE funcionará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top