私はこの質問が 以前に回答された であることを知っていますが、与えられた答えは完全な話ではありません:
私はFirefoxの[オプション]-> [コンテンツ]に移動し、ドイツ語/ドイツ語を除くすべての言語を削除しました。navigator.languageは変更されていません-まだen-GBです(私は英国にいます)。
ドイツ語版のFirefox INSTALLが動作するかどうか聞かれたのですが、その必要はありませんよね。
Useragent文字列にもen-GBが含まれています。しかし、HTTPヘッダーのAccept-language IS正しく設定されています。これは、Firefoxのバグのようです。彼らのBugzillaを調べて少し時間を費やしましたが、正確にはわかりませんバグがログに記録されましたが、私にはかなり大きな見落としがあるようですが?
このタスクにはFirefoxアドオンを使用することをお勧めします。 Simple Locale Switcher 、 Locale Switcher または Quick Locale Switcher など(*このアドオンの一部には、アドウェアが含まれている場合や機能しない場合がありますFirefoxを更新したばかりの場合)。
*別の解決策は、言語/ロケールを使用して別の古いFirefoxバージョンをダウンロードすることです。 (注意)既存のバージョンを上書きしないように、別のフォルダーにインストールする必要があります。 ここからダウンロード スペイン語のFirefox 28を使用しています。アップデートを無効にして、デフォルトのブラウザとして使用することを拒否しました。これを行う場合、同時に実行できるのは1つのFirefoxバージョンのみです。
Navigator.languageとHTTP User-Agentヘッダーはどちらも、「general.useragent.locale」という設定の値を使用します。これは、ダウンロードしたFirefoxビルドのロケールにintl.propertiesでハードコードされています。 http: //mxr.mozilla.org/mozilla-central/source/toolkit/locales/en-US/chrome/global/intl.properties#8
または、en-GBビルドの場合: http://hg.mozilla.org/l10n-central/en-GB/file/88dd673c01f1/toolkit/chrome/global/intl.properties#l8
ビルド用に変更したい場合は、about:configをロードし、general.useragent.localeを見つけてダブルクリックし、値を変更します。
Navigator.languageは、ドキュメントが必要な言語ではなく、そのインターフェース言語(GB英語と想定)を返すと思います。ユーザーエージェント文字列も、ダウンロードされたFirefoxのバージョンを報告します。
Accept-languageは、宛先サーバーがチェックする必要があるものです。
私は彼のこの振る舞いを非常に正しいと考えています(インターフェース(メニューなど)が本当にGB英語であると想定しています)。
Accept-Language
値。クライアント側のJavaScriptを使用している場合は取得できません。サーバーから取得する必要があります。
この値をクライアント側のJavaScriptで本当に必要な場合は、サーバーで読み取ってクライアントに書き戻します。
<script type="text/javascript">
// setting the accept language HTTP header value
// in client-side JavaScript from PHP
var acceptLanguage = '<?php echo $_SERVER["HTTP_ACCEPT_LANGUAGE"]; ?>';
</script>
fireforeのabout:configで、「intl.accept_languages」の値を必要なロケールに変更します。de-DEが実行するとします。