Microsoft Edge 提供作業系統 (作業系統) 區域偏好資訊,幫助網站作者在使用 Microsoft Edge 瀏覽網站時,創造區域體驗。 此功能讓網站作者能為用戶在作業系統中特別更改區域偏好以反映個人偏好的用戶帶來價值。
使用者希望看到依照偏好列印的日期、時間、數字及其他格式。 例如,美國地理區域將 2022 年 7 月 2 日轉換成 2022 年 7 月 2 日。 另一個地理區域則可能將同一日期翻譯成 2022年2月7 日,因為他們將月份和日期讀反了。
區域賽制
為了反映使用者對資料顯示方式的區域偏好 (例如日期) ,Microsoft Edge 在設定的語言區塊中有一個選項:分享額外的作業系統區域格式選單。
授權使用此設定,網站能比以往更深入了解用戶的特定區域偏好。 更改作業系統區域偏好的使用者,現在可能會自動看到他們的偏好反映在更多網站上。
作業系統區域資料顯示碼
使用者的格式偏好被抽象成簡單的區域代碼,網頁應用程式會用此代碼推斷上述日期、時間及其他格式偏好的各種細節。
網站可利用內建的國際化 API 搭配區域代碼,正確格式化資訊以符合使用者偏好。 國際化API能節省大量MB的資料傳輸,保持網站規模小巧,並能快速且輕鬆地適應不同區域。
一般來說,網站的國際化用戶體驗取決於他們能為現有用戶判斷的區域代碼。
區域代碼是一種兩個字母的語言代碼,後面接著一個連字符和一個兩個字母的區域代碼。 Microsoft Edge 使用 ICU 來理解區域代碼。 ICU 是 Unicode 標準國際化 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 有三個選項,選擇瀏覽器將分享的區域資訊層級:
- 有限 (預設)
- (永遠不建議)
- 從來不需要
受限
預設的建議值為 有限。 此設定僅使用使用者目前 Microsoft Edge 偏好語言與使用者選擇的作業系統區域偏好的有效組合。 有限 確保網站在語言處理時能提供一致的語言體驗, (不會) 不可預測的語言組合混合。
有限選項比較來自瀏覽器目前偏好顯示語言的區域代碼與作業系統設定的區域代碼,若語言部分相符且區域代碼組合有效,則會將區域代碼作為預設地點提供給網站。
如果作業系統指定的區域語言與 Microsoft Edge 偏好的語言不符, Limited 選項將視為選擇 「從未 」,並會回退到瀏覽器偏好顯示語言衍生的區域代碼。
注意: Limited 選項與目前 Firefox 在暴露作業系統區域程式碼時的行為類似,詳見 區域偏好設定 - Firefox 原始文件文件 (mozilla.org) 。
需要一直連線
若選擇 「Always (Not Recommend) 」,使用者的作業系統區域偏好將無限制地提供給網站。 使用者可能會接觸到指紋辨識及網站相容性問題 (語言與格式) 不一致。 請參見下方「避免潛在濫用」部分 )
從來不需要
使用者可選擇 「永不」來關閉作業系統區域資訊的分享。 「永不」選項仍允許網站讀取區域資訊,但會阻止使用者在作業系統中自訂的特定區域內容,避免接觸網站內容。 取而代之的是,瀏覽器偏好的顯示語言來推導出預設區域。
政策控制
Microsoft Edge 中一項相關的新政策 DefaultShareAdditionalOSRegionSetting,提供企業或企業層級的預設設定。 此設定接受一個可能值為以下的整數:
| 數字 | 描述 |
|---|---|
| 0 | 受限 |
| 1 | 需要一直連線 |
| 2 | 從來不需要 |
此外,舊有的政策 ApplicationLocaleValue 會設定 Microsoft Edge 的區域並鎖定,以防止使用者更改。
避免潛在的濫用
我們相信 Limited 是大多數用戶的合適選擇。 Limited 尊重用戶的區域偏好,同時降低網站濫用資訊的風險。
指紋辨識熵
作業系統區域資訊可能被濫用,以損害使用者隱私。 區域性資訊將有助於駭客建立指紋辨識熵。 結合平台上現有的許多其他混沌,使用者可能被唯一識別,導致更多潛在的次級傷害。
雖然使用者的地區和語言已透過網路平台提供,但用戶通常屬於跨地理區域且廣為人知的區域代碼。 由於樣本數龐大,任何特定區域代碼突出的風險很小,因此風險也較低。 如果使用者將作業系統偏好設定改為唯一語言+區域,網站可能能辨識出族群中的異常,並唯一識別相關使用者。
內容呈現
OS 區域資訊也可能被濫用,導致網站語言呈現不一致。 Microsoft Edge 為網站開發者提供多種語言及區域性的 API。 網站可能在一個地方處理區域資訊,同時從另一個地方推導語言偏好。
當語言和區域資訊自洽時,網站用什麼 API 來組合內容呈現其實無關緊要。 然而,如果網站讀取多個 API 的語言資訊,而這些 API 回傳的語言代碼不同,網站可能會無意中開始混合區域偏好,導致使用者體驗異常。 例如,混合語言與區域偏好的語句,如「Email sent on miércoles, 5 de enero de 2021」。
開發商資訊
新增的「 共享作業系統區域格式 」設定直接影響 JavaScript Intl 物件的預設區域值,以及所有使用預設區域 (的 JavaScript API,例如建構子) Date 。
當物件的建構子 (DateTimeFormat 如) 被提供現有的區域程式碼時Intl,其行為不變。 然而,若未提供特定區域代碼,製造商將使用 預設的區域代碼。 新的使用者偏好也影響依賴預設區域代碼的其他日期與時間格式化 API,例如 Date。
例如,可以用使用者預設的區域代碼 (建立 a DateTimeFormat ,並透過以下表達式檢查) :
Intl.DateTimeFormat().resolvedOptions().locale
平台中其他部分,例如 accept-languages 透過 HTTP/HTTPS GET 請求傳送到伺服器的標頭,以及 navigator.languagenavigator.languages API 與 API,則不受作業系統所分享的區域資訊影響。