【发布时间】:2015-04-24 09:59:39
【问题描述】:
有没有办法可以根据用户 windows/linux 操作系统设置自动设置用户区域设置?
今天需要明确包含相关的js。
谢谢,
【问题讨论】:
标签: jquery jqgrid free-jqgrid
有没有办法可以根据用户 windows/linux 操作系统设置自动设置用户区域设置?
今天需要明确包含相关的js。
谢谢,
【问题讨论】:
标签: jquery jqgrid free-jqgrid
有很多方法自动检测用户区域设置,但我不知道任何完美的解决方案。一切都取决于您的确切要求。例如可以使用navigator.language || navigator.browserLanguage。例如,您将获得类似"en-US" 的字符串。 The old demo for the feature request 演示了navigator.language || navigator.browserLanguage 的用法。
用户仍然可以在网络浏览器的设置中拥有其他语言偏好:
因此 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
用户使用的不同网络浏览器的设置可能不同
因此,我建议您为用户提供一些手动选择的可能性(例如 <select> 元素)。
检测到语言后,您需要验证是否已经加载了相应的语言。您可以测试在$.jgrid.locales (if ($.jgrid.locales[locale] !== undefined)) 中是否已经定义了相应的语言属性。如果未定义,则必须动态加载相应的 JavaScript 文件。您可以额外测试$.jgrid.defaults.locale 的值。该值将在每个语言环境文件中设置。所以$.jgrid.defaults.locale 为您提供了有关上次加载的语言环境文件和免费 jqGrid 的默认语言环境的信息。在创建网格期间仍然可以明确指定locale。有关更多信息,请参阅the article。
【讨论】: