Intl.Locale.prototype.variants

variants 訪問器屬性是 Intl.Locale 例項的屬性,它返回與此區域設定關聯的變體,作為一個由連字元(-)分隔的識別符號字串,按照最初指定的順序排列。

描述

變體是主要語言 ID 的一部分。它們用於選擇(語言、地區、指令碼)三元組無法區分的語言變體。通常,它們代表不同時期或不同正字法的同一種語言。例如,德語有 19011996 這兩種正字法變體,分別寫作 de-1901de-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() 建構函式的初始區域設定識別符號字串中。請注意,變體不是區域設定識別符號的必需部分。

js
const locale = new Intl.Locale("sl-rozaj-biske");
console.log(locale.variants); // "rozaj-biske"

透過配置物件引數新增變體

Intl.Locale() 建構函式有一個可選的配置物件引數。將配置物件的 variants 屬性設定為所需的變體,然後將其傳遞給建構函式。

js
const locale = new Intl.Locale("sl", { variants: "rozaj-biske" });
console.log(locale.variants); // "rozaj-biske"

規範

規範
ECMAScript® 2026 國際化 API 規範
# sec-Intl.Locale.prototype.variants

瀏覽器相容性

另見