1

Is there a way I can set the user locale automatically based on the user windows/linux OS settings?

Today I need to explicitly include the relevant js.

Thanks,

4

1 回答 1

2

有很多方法可以自动检测用户区域设置,但我不知道任何完美的解决方案。一切都取决于您的确切要求。例如可以使用navigator.language || navigator.browserLanguage. 例如,您将获得字符串"en-US"功能请求的旧演示演示了.navigator.language || navigator.browserLanguage

用户仍然可以在 Web 浏览器的设置中使用其他语言首选项:

在此处输入图像描述

因此 Web 浏览器将Accept-Language在对服务器的 HTTP 请求中包含标头:

Accept-Language: de,en-GB;q=0.8,en;q=0.6,en-US;q=0.4,ru;q=0.2,ja;q=0.2

用户使用的不同网络浏览器中的设置可能不同

在此处输入图像描述

因此,我建议您为用户提供一些<select>手动选择的可能性(例如一个元素)。

检测到语言后,您需要验证是否已经加载了相应的语言。$.jgrid.locales您可以测试是否已经在( if ($.jgrid.locales[locale] !== undefined))中定义了相应的语言属性。如果未定义,则必须动态加载相应的 JavaScript 文件。您可以另外测试 的值$.jgrid.defaults.locale。该值将在每个语言环境文件中设置。So$.jgrid.defaults.locale为您提供有关上次加载的语言环境文件和免费 jqGrid 的默认语言环境的信息。locale在创建网格期间仍然可以明确指定。有关其他信息,请参阅文章。

于 2015-04-24T11:02:43.307 回答