Intl.Segmenter.supportedLocalesOf()
>Intl.Segmenter.supportedLocalesOf() 静态方法返回一个数组,其中包含在分割操作中受支持的、无需回退到运行时默认区域设置的区域设置。
尝试一下
const locales = ["ban", "id-u-co-pinyin", "de-ID"];
const options = { localeMatcher: "lookup", granularity: "string" };
console.log(Intl.Segmenter.supportedLocalesOf(locales, options));
// 期望输出:Array ["id-u-co-pinyin", "de-ID"]
//(注意:确切的输出可能取决于浏览器)
语法
js
Intl.Segmenter.supportedLocalesOf(locales)
Intl.Segmenter.supportedLocalesOf(locales, options)
参数
locales-
带有 BCP 47 语言标记的字符串,或此类字符串的数组。关于
locales参数的一般形式和解释,参见Intl主页上的参数描述。 options可选-
一个可能具有以下属性的对象:
localeMatcher-
要使用的区域设置匹配算法。可选的值为
"lookup"和"best fit";默认值为"best fit"。关于此选项的更多信息,参见 Intl 页面。
返回值
一个字符串数组,表示给定区域设置标签中的一组子集,这些标签在分割操作中受支持,且无需回退到运行时的默认区域设置。
示例
>使用 supportedLocalesOf()
假设运行时支持印尼语和德语的分割功能,但不支持巴厘语,supportedLocalesOf 会返回印尼语和德语的语言标记而不做更改,即使 pinyin 排序规则与分割无关且不用于印尼语,而且针对印度尼西亚的专用德语也不太可能被支持。请注意这里指定了 "lookup" 算法——"best fit" 匹配器可能会认为印尼语是巴厘语的合适匹配,因为大多数巴厘语使用者也懂印尼语,因此也会返回巴厘语的语言标记。
js
const locales = ["ban", "id-u-co-pinyin", "de-ID"];
const options = { localeMatcher: "lookup" };
console.log(Intl.Segmenter.supportedLocalesOf(locales, options));
// ["id-u-co-pinyin", "de-ID"]
规范
| 规范 |
|---|
| ECMAScript® 2027 Internationalization API Specification> # sec-intl.segmenter.supportedlocalesof> |