Intl.Locale.prototype.maximize()

基线 广泛可用

此功能已建立完善,并在许多设备和浏览器版本上都能正常工作。它自 2020 年 9 月.

报告反馈

试一试

语法

maximize()Intl.Locale 实例的方法,它根据现有值获取此区域设置的语言、脚本和区域的最佳匹配值。
maximize()

js

参数

无。

返回值

描述

一个 Intl.Locale 实例,其 baseName 属性返回针对locale.baseName 执行的 添加可能子标记 算法的结果。

示例

有时,根据不完整的语言 ID 识别最佳匹配的区域设置语言标识符子标记会很方便。添加可能子标记算法为我们提供了此功能。例如,给定语言 ID “en”,该算法将返回 “en-Latn-US”,因为英语只能用拉丁文书写,并且最有可能在美国使用,因为它是世界上最大的英语国家。此功能通过 maximize() 方法提供给 JavaScript 程序员。maximize() 仅影响构成 语言标识符 的主要子标记:语言、脚本和区域子标记。区域设置标识符中 “-u” 后的其他子标记称为扩展子标记,不受 maximize() 方法影响。这些子标记的示例包括 hourCyclecalendarnumeric

maximize()Intl.Locale 实例的方法,它根据现有值获取此区域设置的语言、脚本和区域的最佳匹配值。
const myLocale = new Intl.Locale("fr", {
  hourCycle: "h12",
  calendar: "gregory",
});
console.log(myLocale.baseName); // Prints "fr"
console.log(myLocale.toString()); // Prints "fr-u-ca-gregory-hc-h12"
const myLocMaximized = myLocale.maximize();

// Prints "fr-Latn-FR". The "Latn" and "FR" tags are added,
// since French is only written in the Latin script and is most likely to be spoken in France.
console.log(myLocMaximized.baseName);

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

规范

使用 maximize
规范
# ECMAScript 国际化 API 规范

浏览器兼容性

sec-Intl.Locale.prototype.maximize

另请参阅