Intl.Locale.prototype.variants
variants 訪問器屬性是 Intl.Locale 例項的屬性,它返回與此區域設定關聯的變體,作為一個由連字元(-)分隔的識別符號字串,按照最初指定的順序排列。
描述
變體是主要語言 ID 的一部分。它們用於選擇(語言、地區、指令碼)三元組無法區分的語言變體。通常,它們代表不同時期或不同正字法的同一種語言。例如,德語有 1901 和 1996 這兩種正字法變體,分別寫作 de-1901 和 de-1996;“近代早期英語(1500-1700)”變體寫作 en-emodeng。子標籤可以包含多個由連字元(-)分隔的識別符號。這些識別符號在技術上是無序的,儘管在實踐中它們常常具有語義層級——例如,斯洛維尼亞語的 Resian 方言寫作 sl-rozaj,而 Resian 的 San Giorgio/Bila 方言寫作 sl-rozaj-biske。
variants 屬性的值在構造時設定,可以透過 region 後面的區域設定識別符號部分,或透過 Intl.Locale() 建構函式的 variants 選項來設定。如果兩者都存在,後者具有優先權;如果兩者都不存在,則該屬性的值為 undefined。
variants 的設定器(set accessor)為 undefined。你不能直接更改此屬性。
示例
與其他區域設定子標籤一樣,變體可以透過區域設定字串,或透過建構函式的配置物件引數新增到 Intl.Locale 物件中。
透過區域設定字串新增變體
變體(如果存在)是有效的 Unicode 語言識別符號字串的最後一部分,可以新增到傳遞給 Intl.Locale() 建構函式的初始區域設定識別符號字串中。請注意,變體不是區域設定識別符號的必需部分。
const locale = new Intl.Locale("sl-rozaj-biske");
console.log(locale.variants); // "rozaj-biske"
透過配置物件引數新增變體
Intl.Locale() 建構函式有一個可選的配置物件引數。將配置物件的 variants 屬性設定為所需的變體,然後將其傳遞給建構函式。
const locale = new Intl.Locale("sl", { variants: "rozaj-biske" });
console.log(locale.variants); // "rozaj-biske"
規範
| 規範 |
|---|
| ECMAScript® 2026 國際化 API 規範 # sec-Intl.Locale.prototype.variants |
瀏覽器相容性
載入中…
另見
Intl.Locale- Unicode 變體子標籤(Unicode 區域設定資料標記語言規範)
- IANA 語言子標籤登錄檔