1

希望有人能快速回答,但我的 google-fu 已经抛弃了我。

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

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

setlocale 2057 

设置为英语语言环境

然后当我处理完数字/日期后,我可以设置回法语

setlocale 1036

是否有等效的javascript?我怎样才能在javascript中完成这个?

4

2 回答 2

2

不,没有办法在 JavaScript 中选择语言环境。

但是,在美国英语语言环境中进行操作通常不是问题,因为无论如何 JavaScript 都是这样做的。如果您Number使用 parseInt、toString 等处理 s,您将始终处理.小数点,并且不会有千位分隔符。Date默认格式还使用英文工作日和月份名称,以及一种特定于浏览器的日期格式,它会忽略您的区域设置的默认值。

您必须竭尽全力在 JavaScript 中获取任何特定于语言环境的内容,例如toLocaleString. 跨浏览器的结果通常很差且不一致。如果您想在您的 web 应用程序中进行可靠的本地化,您必须自己做。

于 2010-01-15T10:27:44.260 回答
1

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

您可以在 ECMAScript 站点下载官方规范并查看Mozilla 实现(IE 实现可能在 MSDN 站点的某个地方)。

于 2010-01-15T10:38:14.023 回答