如何获得firefox语言设置? (真)

时间:2009-07-30 11:36:40

标签: firefox locale

我知道这个问题已经answered before,但给出的答案不是完整的故事:

我进入了Firefox的选项 - >内容并删除了除德语/德语以外的所有语言,并且navigator.language没有改变 - 它仍然是en-GB(我在英国)。

我被告知如果我得到德国火狐安装它会起作用,但我不应该这样做,对吗?

useragent字符串也包含en-GB;但HTTP标头上的接受语言是正确设置的。所以这似乎是Firefox中的一个错误,我花了一些时间趟过他们的bugzilla,但我看不到这个确切的错误记录,虽然对我来说这似乎是一个非常巨大的疏忽?

5 个答案:

答案 0 :(得分:15)

navigator.language和HTTP User-Agent标头都使用首选项“general.useragent.locale”的值,该值在intl.properties中硬编码为您下载的Firefox构建的区域设置: 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,双击它,然后更改值。

答案 1 :(得分:9)

我建议使用Firefox附加组件完成此任务。 Simple Locale SwitcherLocale SwitcherQuick Locale Switcher等。(*注意,如果您刚刚更新了Firefox,则某些附加组件可能包含广告软件,或者可能无效)。

*另一种解决方案是使用语言/语言环境下载不同的旧版firefox。 (注意)您需要将其安装在不同的文件夹中,这样您就不会覆盖现有版本。 Download here我正在使用西班牙语的firefox 28。我禁用了更新,但我拒绝将其用作默认浏览器。如果你这样做,只应该同时运行一个firefox版本。

答案 2 :(得分:2)

我认为navigator.language返回它的界面语言(我假设是GB英语),而不是它想要文档的那个。用户代理字符串也报告下载了哪个版本的firefox。

接受语言是目标服务器应该检查的内容。

我认为他的这种行为非常正确(假设它的界面(菜单等)真的是GB英文)。

答案 3 :(得分:0)

如果您想要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>

答案 4 :(得分:0)

在firefore中,about:config,将“intl.accept_languages”的值修改为你需要的语言环境,让我们说de-DE会这样做。