Поделиться через


Отображение региональных версий сайта на основе параметров ОС

Microsoft Edge предоставляет сведения о региональных предпочтениях операционной системы (ОС), чтобы помочь авторам веб-сайтов создавать региональные возможности на своем веб-сайте при просмотре сайта с помощью Microsoft Edge. Эта функция позволяет авторам веб-сайтов предоставлять ценность пользователям, которые специально изменяют свои региональные предпочтения в ОС в соответствии с их личными предпочтениями.

Пользователи хотят, чтобы даты, время, числа и другие форматы печатались в соответствии с их предпочтениями. Например, географический регион США переводит 02.07.2022 на 2 июля 2022 г. Другой географический регион может перевести эту же дату на 7 февраля 2022 года, так как они читают месяц и день обратно.

Региональный формат

Чтобы отразить региональные предпочтения пользователя в отношении отображения данных (например, дату), Microsoft Edge имеет параметр в разделе Языкраздела Параметры: меню Общий доступ к дополнительному региональному формату ОС .

Меню

Предоставление доступа к этому параметру позволяет веб-сайтам просматривать более конкретные региональные предпочтения пользователей, чем это было возможно ранее. Пользователи, изменяющие региональные предпочтения ОС, теперь могут автоматически отображать свои предпочтения на других веб-сайтах.

Коды отображения региональных данных ОС

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

Веб-сайты могут использовать встроенный API интернационализации с региональным кодом для правильного форматирования информации в соответствии с предпочтениями пользователя. API интернационализации позволяет сэкономить много МБ передачи данных по сети, сохраняя веб-сайты небольшими размерами и позволяя им быстро и легко адаптироваться к разным регионам.

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

Региональный код — это двухбуквенный код языка, за которым следует дефис и двухбуквенный код региона. Microsoft Edge использует ICU для понимания региональных кодов. ICU — это реализация API интернационализации стандарта Юникода. Дополнительные сведения см. на домашней странице ICU-TC.

Чтобы задать языковые настройки пользователя, Microsoft Edge получает значения по умолчанию из ОС при первой установке. Затем пользователь может изменить языковые параметры в edge://settings/languages и отсортировать их в порядке приоритета.

Раздел

Пользовательский интерфейс, заголовок HTTP и API взаимодействуют следующим образом:

Данные языка или региона Влияние на пользователей
Предпочитаемые языки на страницеЯзыкипараметров> Язык, выбранный для отрисовки Microsoft Edge. Этот язык или регион также используется для форматирования таких значений, как дата, время и числа.
accept-language Заголовок HTTP Список региональных кодов (как определено в разделе Параметры>языков>Предпочтительные языки), который отправляется на сервер, чтобы веб-сайт отображал нужный язык. Microsoft Edge отправляет региональные коды в порядке, указанном в edge://settings/languages.
navigator.language API (и аналогичные) Код, вставленный на веб-сайт, который позволяет браузерам отображать правильное региональное форматирование (как определено в разделе Параметры>языки>Предпочтительные языки) для ввода пользователем и другого содержимого, создаваемого локально.

Параметры отображения региональных данных

У пользователей есть три варианта в Microsoft Edge, чтобы выбрать уровень информации, которую их браузер предоставит о своих регионах:

  • Ограничено (по умолчанию)
  • Всегда (не рекомендуется)
  • Никогда

Ограниченная функциональность

Рекомендуемое значение по умолчанию — Limited. Этот параметр использует только допустимые сочетания текущего предпочитаемого языка Microsoft Edge и выбранного пользователем региона ОС. Ограничение гарантирует, что для обработки языка веб-сайты будут обеспечивать согласованный языковой интерфейс (не смешивая языки в непредсказуемых сочетаниях).

Параметр Limited сравнивает языковую часть регионального кода, который является производным от текущего предпочтительного языка интерфейса браузера, и региональный код, поступающий из параметра ОС. Если языковые части совпадают и если результирующий региональный код является допустимым сочетанием, будет предоставлять региональный код веб-сайтам в качестве языкового стандарта по умолчанию.

Если указанный в ОС региональный язык не соответствует предпочтительному языку Microsoft Edge, параметр Limited будет действовать так, как если бы никогда не был выбран, и вернется к региональному коду, полученному из предпочитаемого языка интерфейса браузера.

Примечание. Параметр Limited аналогичен текущему поведению Firefox для предоставления регионального кода ОПЕРАЦИОННОй системы, как описано в документации по региональным предпочтениям — документация по источнику Firefox (mozilla.org).

Всегда

Если выбран параметр Всегда (не рекомендуется), региональные настройки ОС пользователя будут предоставляться веб-сайту без каких-либо ограничений или ограничений. Пользователь может быть подвержен отпечаткам пальцев и проблемам совместимости веб-сайта (несогласованное использование языка и форматирования). См. раздел "Предотвращение потенциального несанкционированного использования".

Никогда

Пользователи могут отключить общий доступ к сведениям о регионе ОС, выбрав Никогда. Параметр Никогда по-прежнему позволяет веб-сайтам считывать сведения о регионе, но блокирует доступ к содержимому веб-сайта для определенных региональных настроек ОС, внесенных пользователем. Вместо этого для получения региона по умолчанию используется предпочтительный язык интерфейса браузера.

Элементы управления политикой

Связанная новая политика в Microsoft Edge DefaultShareAdditionalOSRegionSetting предоставляет параметр для корпоративных или корпоративных конфигураций по умолчанию. Этот параметр принимает целое число со следующими потенциальными значениями:

Номер Описание
0 Ограниченная функциональность
1 Всегда
2 Никогда

Кроме того, старая политика ApplicationLocaleValue задает языковой стандарт Microsoft Edge и блокирует его, чтобы запретить пользователям изменять его.

Предотвращение потенциального неправильного использования

Мы считаем, что для большинства пользователей подойдет вариант Limited . Ограничение учитывает региональные предпочтения пользователя, в то же время вводя наименьший риск неправильного использования этой информации веб-сайтом.

Энтропия отпечатков пальцев

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

Хотя регион и язык пользователя уже доступны через веб-платформу, пользователи, как правило, попадают в хорошо узнаваемые региональные коды, похожие в разных географических регионах. Так как размеры выборки настолько велики, риск, связанный с конкретным региональным кодом, невелик, и, следовательно, риск невелик. Если пользователь изменяет настройки ОС на уникальный язык и регион, веб-сайты могут идентифицировать аномалию в совокупности и однозначно идентифицировать связанного пользователя.

Презентация содержимого

Сведения о регионе ОС также могут быть неправильно использованы и привести к несоответствию языковой презентации веб-сайта. Microsoft Edge предоставляет разработчикам веб-сайтов несколько языковых и региональных API. Веб-сайты могут обрабатывать региональную информацию в одном месте, при этом языковые предпочтения вытекают из другого.

Если язык и региональные сведения являются самосообразуются, то на самом деле не имеет значения, какие API-интерфейсы используются веб-сайтом для создания презентации содержимого. Однако если веб-сайт считывает языковые сведения из нескольких API и эти API возвращают разные языковые коды, то веб-сайт может случайно начать смешивать и соответствовать региональным предпочтениям, что приведет к странному взаимодействию с пользователем. Например, выражение, которое объединяет языки и региональные предпочтения, например "Email отправлено на miércoles, 5 de enero de 2021".

Сведения о разработчике

Новый параметр Совместно использовать дополнительный региональный формат ОС напрямую влияет на региональное значение объекта JavaScript Intl по умолчанию и все другие API JavaScript, использующие регион по умолчанию (например Date , конструктор).

Если конструкторы Intl объекта (например, DateTimeFormat) предоставляются с существующим региональным кодом, их поведение остается неизменным. Однако если конкретный региональный код не указан, конструкторы будут использовать региональный код по умолчанию. Новые предпочтения пользователей также влияют на другие API форматирования даты и времени, которые используют региональный код по умолчанию, например Date.

Например, DateTimeFormat можно создать с региональным кодом пользователя по умолчанию (и проверить его) с помощью следующего выражения:

Intl.DateTimeFormat().resolvedOptions().locale

Другие области платформы, такие как accept-languages заголовок, отправляемый через HTTP/HTTPS GET-запросы на сервер, и navigator.language API и navigator.languages , не влияют на региональные сведения, которые совместно используются ОС.