使用 Intl.DisplayNames 排序友好的语言名称

问题描述 投票:0回答:0

有没有办法使用 Intl.DisplayNames 来获取排序友好的语言名称,其中基本语言排在第一位?

const languageNames = new Intl.DisplayNames(['en'], { type: 'language' });
console.log(languageNames.of('en'));
console.log(languageNames.of('en-AU'));
console.log(languageNames.of('fr'));
console.log(languageNames.of('fr-CA'));

上面的代码片段返回:

English
Australian English
French
Canadian French

我正在寻找 CLDR 语言/区域设置名称模式页面中记录的格式化值:

English
English (Australia)
French
French (Canada)

某些语言有

alt="menu"
变体 自 CLDR 36 起,例如
Chinese, Cantonese
代表
yue
(而不是默认的
Cantonese
),但我不确定这些是否通过 JavaScript 公开(并且无论如何都没有为上面示例中的语言定义)。

我在 CLDR Jira 中找到了相关票证:ICU-21549:修复 API 以支持语言菜单

javascript localization icu cldr
© www.soinside.com 2019 - 2024. All rights reserved.