在我看来,javascript的数字toLocaleString()
和.NET ToString()
格式的数字不同。 toLocaleString()
似乎忽略了我在工具/互联网选项/语言中设置的语言。
例如,为了测试西班牙语支持,我确保只在工具/ Internet选项/语言中列出了西班牙语(es-ES),但
alert((12.05).toLocaleString());
仍显示“12.05”(而不是12,05)
标题中的接受语言显示了es-ES,但javascript中的navigator.userLanguage
仍然显示“en-US”(就好像它是从操作系统中挑选出来的)
我在这里缺少什么?
答案 0 :(得分:2)
你没有遗漏任何东西。 toLocaleString
从operating system获取当前区域设置。
编辑以回复评论
该浏览器设置告诉服务器您喜欢哪种语言。但是,它对javascript没有影响。如果你认为它是完全合理的。向服务器询问特定语言的内容并不能保证服务器实际上会以该语言返回内容。
但听起来我觉得你没有真正的问题,你只是对如何正确测试感到困惑。您是否只能更改操作系统语言设置以确保为西班牙语发言人正确格式化日期?
答案 1 :(得分:0)
唯一重要的语言是浏览器或操作系统之一 - 并且在navigator.userLanguage
中返回该语言。
accept-languages
标题/设置仅供网站确定用户喜欢哪种语言;不要影响代码行为。