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

浏览器兼容性

另见