Domanda

So che questa domanda è stata ha risposto prima , ma la risposta è stata data non è la storia completa:

Sono andato su Opzioni di Firefox- > Contenuto e ho rimosso tutte le lingue tranne il tedesco / Germania, e navigator.language non è cambiato - è ancora en-GB (sono nel Regno Unito).

Mi è stato detto che se avrò installato il programma Firefox tedesco funzionerà, ma non dovrei farlo, giusto?

Anche la stringa useragent contiene ancora en-GB; ma la lingua di accettazione nelle intestazioni HTTP È impostata correttamente. Quindi questo sembra essere un bug in Firefox, ho passato un po 'di tempo a sfogliare il loro bugzilla, ma non riesco a vedere questo esatto bug registrato, anche se a me sembra una svista piuttosto enorme?

È stato utile?

Soluzione

Consiglierei di utilizzare un componente aggiuntivo di Firefox per questa attività. Switcher locale semplice , Local Switcher o Cambio locale rapido ecc. (* Attenzione alcuni di questi componenti aggiuntivi possono contenere annunci o potrebbero non funzionare se hai appena aggiornato Firefox).

* Un'altra soluzione è scaricare una vecchia versione di Firefox diversa usando la lingua / locale. (Attenzione) È necessario e installarlo in una cartella diversa in modo da non sovrascrivere la versione esistente. Scarica qui Sto usando Firefox 28 in spagnolo. Ho disabilitato gli aggiornamenti e ho rifiutato di usarlo come browser predefinito. Solo una versione di Firefox dovrebbe essere in esecuzione contemporaneamente se lo fai.

Altri suggerimenti

Sia navigator.language che l'intestazione HTTP User-Agent utilizzano il valore della preferenza "general.useragent.locale", che è codificato in intl.properties con le impostazioni locali della build di Firefox scaricata: http: // mxr .mozilla.org / mozilla-central / source / toolkit / locali / it-IT / cromo / global / intl.properties # 8

O per la tua build en-GB: http: // hg .mozilla.org / / / file di l10n centro-it-IT / 88dd673c01f1 / toolkit / cromo / global / intl.properties # L8

Se desideri modificarlo per la tua build, carica about: config, trova general.useragent.locale, fai doppio clic su di esso e modifica il valore.

Suppongo che navigator.language restituisca la sua lingua di interfaccia (suppongo sia inglese GB), non una in cui desideri documenti. Anche la stringa agente utente riporta quale versione di firefox è stata scaricata.

Accept-language è ciò che il server di destinazione dovrebbe controllare.

Considero questo suo comportamento abbastanza corretto (supponendo che la sua interfaccia (menu e simili) sia davvero in inglese GB).

Se si desidera il valore Accept-Language , non è possibile recuperare se si utilizza JavaScript sul lato client. Dovrai scaricarlo dal tuo server.

Se vuoi davvero questo valore nel JavaScript lato client, allora leggilo sul server e riscrivilo sul client:

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

Se si desidera il valore Accept-Language , non è possibile recuperare se si utilizza JavaScript sul lato client. Dovrai scaricarlo dal tuo server.

Se vuoi davvero questo valore nel JavaScript lato client, allora leggilo sul server e riscrivilo sul client:

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

in firefore, about: config, modifica il valore di " intl.accept_languages ??" ;, al tuo locale richiesto, diciamo che de-DE lo farà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top