web-dev-qa-db-ja.com

Firefoxの言語設定を取得するにはどうすればよいですか? (本当に)

私はこの質問が 以前に回答された であることを知っていますが、与えられた答えは完全な話ではありません:

私はFirefoxの[オプション]-> [コンテンツ]に移動し、ドイツ語/ドイツ語を除くすべての言語を削除しました。navigator.languageは変更されていません-まだen-GBです(私は英国にいます)。

ドイツ語版のFirefox INSTALLが動作するかどうか聞かれたのですが、その必要はありませんよね。

Useragent文字列にもen-GBが含まれています。しかし、HTTPヘッダーのAccept-language IS正しく設定されています。これは、Firefoxのバグのようです。彼らのBugzillaを調べて少し時間を費やしましたが、正確にはわかりませんバグがログに記録されましたが、私にはかなり大きな見落としがあるようですが?

24
Ian Grainger

このタスクにはFirefoxアドオンを使用することをお勧めします。 Simple Locale SwitcherLocale Switcher または Quick Locale Switcher など(*このアドオンの一部には、アドウェアが含まれている場合や機能しない場合がありますFirefoxを更新したばかりの場合)。

*別の解決策は、言語/ロケールを使用して別の古いFirefoxバージョンをダウンロードすることです。 (注意)既存のバージョンを上書きしないように、別のフォルダーにインストールする必要があります。 ここからダウンロード スペイン語のFirefox 28を使用しています。アップデートを無効にして、デフォルトのブラウザとして使用することを拒否しました。これを行う場合、同時に実行できるのは1つのFirefoxバージョンのみです。

9
PbxMan

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を見つけてダブルクリックし、値を変更します。

15
Ted Mielczarek

Navigator.languageは、ドキュメントが必要な言語ではなく、そのインターフェース言語(GB英語と想定)を返すと思います。ユーザーエージェント文字列も、ダウンロードされたFirefoxのバージョンを報告します。

Accept-languageは、宛先サーバーがチェックする必要があるものです。

私は彼のこの振る舞いを非常に正しいと考えています(インターフェース(メニューなど)が本当にGB英語であると想定しています)。

2
Josip Medved

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>
0
Grant Wagner

fireforeのabout:configで、「intl.accept_languages」の値を必要なロケールに変更します。de-DEが実行するとします。

0
lwpro2