Как проверить JavaScript Intl.NumberFormat () - PullRequest
0 голосов
/ 09 января 2020

Цель состоит в том, чтобы обеспечить иностранным посетителям хороший пользовательский опыт (веб-сайт находится в США). Сайт использует JavaScript для создания отчетов с большим количеством содержимого c, и я хотел бы, чтобы пользователи видели данные, отформатированные с использованием их местных соглашений. Таким образом, я создаю прототип с использованием Intl.NumberFormat().

. Я предполагал, что смогу проверить, как пользователи из разных мест будут воспринимать сайт, изменив региональные и языковые настройки Windows 10, начиная с MDN. документы Intl.NumberFormat () :

В случае использования c без указания локали возвращается отформатированная строка в локали по умолчанию и с параметрами по умолчанию.

Однако, когда я изменил свои настройки на немецкий и немецкий, resolvedOptions() по-прежнему возвращает значение locale 'en-US', и номер теста по-прежнему форматируется с использованием соглашений США.

В1: Почему «en-US», а не «de-DE»? Что я неправильно понимаю?

Q2: Как я могу проверить, как если бы я был международным пользователем?

Вот как я форматирую число и получение значения объекта locale:

let n = '12345678.99';
let f = new Intl.NumberFormat();
let options = f.resolvedOptions();
console.log('locale = ', options.locale, '\t', 'n = ', f.format(n));

Отредактировано. Удален Q3.

JSFiddle для проверки нового NumberFormat ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...