2010-01-15 87 views
1

希望能为某人快速回答,但我的google-fu已经抛弃了我。Javascript等效于vbscript setlocale

在vbscript中,我可以使用“setlocale”来设置脚本运行的语言环境。我需要一个javascript版本。

例如,假设我的用户使用的浏览器使用法语设置,但我希望数字和日期是英文,并且可以像使用英文一样使用。然后在VBScript中我可以做

setlocale 2057 

设置为英语语言环境

,然后当我完成了数字/日期的工作,我可以设置回法国

setlocale 1036 

有一个JavaScript等效?我怎样才能在javascript中完成此操作?

回答

2

不,没有办法在JavaScript中选择区域设置。

但是,在美国英语语言环境中做东西通常不是问题,因为JavaScript就是这样做的。如果您使用parseInt,toString等处理Number s,您将始终处理.的小数点,并且不会有千位分隔符。 Date默认格式也使用英语星期几和月份名称以及忽略您的语言环境默认设置的浏览器特定日期格式。

你必须用你的方式来获取任何特定于JavaScript的语言环境,例如toLocaleString。结果通常很差并且在浏览器中不一致。如果你想在你的web应用程序中进行可靠的本地化,你必须自己做。

+0

感谢您的回答。我问这个问题没有先测试问题 - 现在我已经和它符合你所说的 - 所以我不必担心它是完美的!谢谢 – DannykPowell 2010-01-16 11:20:42

1

据我所知,JavaScript不提供类似的区域设置功能。你有一些特定任务的区域感知功能。例如,您可以使用localeCompare()对字符串进行排序,您可以用toLocaleUpperCase()将其大写,并且可以使用toLocaleString()打印日期。而且您不指定区域设置,它们可以与解释器认为合适的任何语言设置一起工作。当然,这一切都取决于这些功能在所有目标浏览器中都可用。

您可以在ECMAScript站点下载official specs,并查看Mozilla implementation(IE实现可能位于MSDN站点的某处)。

+0

感谢您的回答。我决定选择另一个答案作为正确的答案,因为它是更明确的 - 但如果我可以选择正确的答案,我会 - 对不起 – DannykPowell 2010-01-16 11:23:37