Intl.Locale.prototype.minimize()

Baseline 已廣泛支援

此功能已成熟,並可在許多裝置和瀏覽器版本上使用。自 2020 年 9 月起,所有瀏覽器均已提供此功能。

minimize() 方法是 Intl.Locale 例項的一個方法,它會嘗試移除透過呼叫 maximize() 新增到該區域設定中的資訊。

試一試

const english = new Intl.Locale("en-Latn-US");
const korean = new Intl.Locale("ko-Kore-KR");
const arabic = new Intl.Locale("ar-Arab-EG");

console.log(english.minimize().baseName);
// Expected output: "en"

console.log(korean.minimize().baseName);
// Expected output: "ko"

console.log(arabic.minimize().baseName);
// Expected output: "ar"

語法

js
minimize()

引數

無。

返回值

返回一個 Intl.Locale 例項,其 baseName 屬性是針對locale.baseName 執行 移除常用子標籤演算法後的結果。

描述

此方法執行的操作與 maximize() 相反,它會從區域設定語言識別符號(本質上是 baseName 的內容)中移除任何語言、指令碼或地區子標籤。當語言識別符號中有冗餘子標籤時,此方法很有用;例如,“en-Latn”可以簡化為“en”,因為“Latn”是書寫英語的唯一指令碼。minimize() 只會影響構成 語言識別符號 的主要子標籤:語言、指令碼和地區子標籤。在區域設定識別符號中“\u201c-u\u201d”之後出現的其他子標籤稱為擴充套件子標籤,不受 minimize() 方法的影響。這些子標籤的示例包括 hourCyclecalendarnumeric

示例

使用 minimize

js
const myLocale = new Intl.Locale("fr-Latn-FR", {
  hourCycle: "h12",
  calendar: "gregory",
});
console.log(myLocale.baseName); // Prints "fr-Latn-FR"
console.log(myLocale.toString()); // Prints "fr-Latn-FR-u-ca-gregory-hc-h12"

const myLocMinimized = myLocale.minimize();

// Prints "fr", since French is only written in the Latin script
// and is most likely to be spoken in France.
console.log(myLocMinimized.baseName);

// Prints "fr-u-ca-gregory-hc-h12".
// Note that the extension tags (after "-u") remain unchanged.
console.log(myLocMinimized.toString());

規範

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

瀏覽器相容性

另見