Javascript-эквивалент vbscript setlocale - PullRequest
1 голос
/ 15 января 2010

Надеюсь, кто-нибудь ответит быстро, но мой гугл-фу бросил меня.

В VBScript я могу использовать "setlocale", чтобы установить локаль, в которой выполняется скрипт. Мне нужна версия JavaScript.

Так, например, скажем, мой пользователь использует браузер с французскими настройками, но я хочу, чтобы числа и даты были на английском и работали так, как если бы они были английскими. Тогда в VBScript я мог бы сделать

setlocale 2057 

для установки на английский язык

и затем, когда я закончу работать с числами / датами, я могу вернуться к французскому

setlocale 1036

Есть ли эквивалент javascript? Как я могу сделать это в JavaScript?

Ответы [ 2 ]

2 голосов
/ 15 января 2010

Нет, в JavaScript невозможно выбрать локали.

Тем не менее, работа в английской локали США, как правило, не является проблемой, так как в любом случае это делает JavaScript. Если вы обрабатываете Number s с parseInt, toString и т. Д., Вы всегда будете иметь дело с . для десятичных точек, и не будет разделителя тысяч. Date Форматирование по умолчанию также использует английские названия дней и месяцев, а также формат даты в браузере, который игнорирует стандартную настройку вашей локали.

Вы должны приложить все усилия, чтобы получить что-нибудь специфичное для локали в JavaScript с помощью таких методов, как toLocaleString. Результаты, как правило, плохие и противоречивые во всех браузерах. Если вам нужна надежная локализация в ваших веб-приложениях, вы должны сделать это самостоятельно.

1 голос
/ 15 января 2010

Насколько я знаю, JavaScript не предлагает аналогичные функции локали. У вас есть некоторые региональные функции для конкретных задач. Например, вы можете отсортировать строку с помощью localeCompare () , вы можете прописать ее с помощью toLocaleUpperCase () и вы можете напечатать дату с помощью toLocaleString (). И вы не указываете локаль, они работают с любыми языковыми настройками, которые интерпретатор считает целесообразными. И, конечно, все зависит от наличия этих функций во всех целевых браузерах.

Вы можете загрузить официальные спецификации на сайте ECMAScript и взглянуть на реализацию Mozilla (реализация IE, вероятно, где-то на сайте MSDN).

...