免费jqGrid 4.8.0 - 根据用户环境自动设置Locale

时间:2015-04-24 09:59:39

标签: jquery jqgrid free-jqgrid

有没有办法可以根据用户的windows / linux操作系统设置自动设置用户区域设置?

今天我需要明确包含相关的js。

谢谢,

1 个答案:

答案 0 :(得分:2)

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

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

enter image description here

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

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

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

enter image description here

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

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