Intl.DisplayNames

Baseline 已广泛支持

此特性已得到良好支持,可在多种设备和浏览器版本上使用。自 2021 年 4 月起,所有浏览器均已支持此特性。

Intl.DisplayNames 对象能够一致地翻译语言、地区和脚本的显示名称。

试一试

const regionNamesInEnglish = new Intl.DisplayNames(["en"], { type: "region" });
const regionNamesInTraditionalChinese = new Intl.DisplayNames(["zh-Hant"], {
  type: "region",
});

console.log(regionNamesInEnglish.of("US"));
// Expected output: "United States"

console.log(regionNamesInTraditionalChinese.of("US"));
// Expected output: "美國"

构造函数

Intl.DisplayNames()

创建一个新的 Intl.DisplayNames 对象。

静态方法

Intl.DisplayNames.supportedLocalesOf()

返回一个数组,其中包含提供的区域设置中受支持的那些区域设置,而无需回退到运行时默认区域设置。

实例属性

这些属性定义在 Intl.DisplayNames.prototype 上,并由所有 Intl.DisplayNames 实例共享。

Intl.DisplayNames.prototype.constructor

创建实例对象的构造函数。对于 Intl.DisplayNames 实例,初始值为 Intl.DisplayNames 构造函数。

Intl.DisplayNames.prototype[Symbol.toStringTag]

[Symbol.toStringTag] 属性的初始值为字符串 "Intl.DisplayNames"。此属性用于 Object.prototype.toString()

实例方法

Intl.DisplayNames.prototype.of()

此方法接收一个 code,并根据实例化 Intl.DisplayNames 时提供的区域设置和选项返回一个字符串。

Intl.DisplayNames.prototype.resolvedOptions()

返回一个新对象,其属性反映在对象初始化过程中计算出的语言环境和格式化选项。

示例

地区代码显示名称

创建一个用于特定区域设置的 Intl.DisplayNames,以获取地区代码的显示名称。

js
// Get display names of region in English
let regionNames = new Intl.DisplayNames(["en"], { type: "region" });
regionNames.of("419"); // "Latin America"
regionNames.of("BZ"); // "Belize"
regionNames.of("US"); // "United States"
regionNames.of("BA"); // "Bosnia & Herzegovina"
regionNames.of("MM"); // "Myanmar (Burma)"

// Get display names of region in Traditional Chinese
regionNames = new Intl.DisplayNames(["zh-Hant"], { type: "region" });
regionNames.of("419"); // "拉丁美洲"
regionNames.of("BZ"); // "貝里斯"
regionNames.of("US"); // "美國"
regionNames.of("BA"); // "波士尼亞與赫塞哥維納"
regionNames.of("MM"); // "緬甸"

语言显示名称

创建一个用于特定区域设置的 Intl.DisplayNames,以获取语言-脚本-地区序列的显示名称。

js
// Get display names of language in English
let languageNames = new Intl.DisplayNames(["en"], { type: "language" });
languageNames.of("fr"); // "French"
languageNames.of("de"); // "German"
languageNames.of("fr-CA"); // "Canadian French"
languageNames.of("zh-Hant"); // "Traditional Chinese"
languageNames.of("en-US"); // "American English"
languageNames.of("zh-TW"); // "Chinese (Taiwan)"]

// Get display names of language in Traditional Chinese
languageNames = new Intl.DisplayNames(["zh-Hant"], { type: "language" });
languageNames.of("fr"); // "法文"
languageNames.of("zh"); // "中文"
languageNames.of("de"); // "德文"

脚本代码显示名称

创建一个用于特定区域设置的 Intl.DisplayNames,以获取脚本代码的显示名称。

js
// Get display names of script in English
let scriptNames = new Intl.DisplayNames(["en"], { type: "script" });
// Get script names
scriptNames.of("Latn"); // "Latin"
scriptNames.of("Arab"); // "Arabic"
scriptNames.of("Kana"); // "Katakana"

// Get display names of script in Traditional Chinese
scriptNames = new Intl.DisplayNames(["zh-Hant"], { type: "script" });
scriptNames.of("Latn"); // "拉丁文"
scriptNames.of("Arab"); // "阿拉伯文"
scriptNames.of("Kana"); // "片假名"

货币代码显示名称

创建一个用于特定区域设置的 Intl.DisplayNames,以获取货币代码的显示名称。

js
// Get display names of currency code in English
let currencyNames = new Intl.DisplayNames(["en"], { type: "currency" });
// Get currency names
currencyNames.of("USD"); // "US Dollar"
currencyNames.of("EUR"); // "Euro"
currencyNames.of("TWD"); // "New Taiwan Dollar"
currencyNames.of("CNY"); // "Chinese Yuan"

// Get display names of currency code in Traditional Chinese
currencyNames = new Intl.DisplayNames(["zh-Hant"], { type: "currency" });
currencyNames.of("USD"); // "美元"
currencyNames.of("EUR"); // "歐元"
currencyNames.of("TWD"); // "新台幣"
currencyNames.of("CNY"); // "人民幣"

规范

规范
ECMAScript® 2026 国际化 API 规范
# intl-displaynames-objects

浏览器兼容性

另见