The Intl.DisplayNames object is a constructor for objects that enables the consistent translation of language, region and script display names.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Constructor
Intl.DisplayNames()- Creates a new
Intl.DisplayNamesobject.
Static methods
Intl.DisplayNames.supportedLocalesOf()- Returns an array containing those of the provided locales that are supported without having to fall back to the runtime's default locale.
Instance methods
Intl.DisplayNames.prototype.of()- This method receives a
codeand returns a string based on the locale and options provided when instantiatingIntl.DisplayNames. Intl.DisplayNames.prototype.resolvedOptions()- Returns a new object with properties reflecting the locale and formatting options computed during initialization of the object.
Examples
Region Code Display Names
To create an Intl.DisplayNames for a locale and get the display name for a region code.
// 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'); // "緬甸"
Language Display Names
To create an Intl.DisplayNames for a locale and get the display name for a language-script-region sequence.
// 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'); // "德文"
Script Code Display Names
To create an Intl.DisplayNames for a locale and get the display name for a script code.
// 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'); // "片假名"
Currency Code Display Names
To create an Intl.DisplayNames for a locale and get the display name for currency code.
// 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'); // "人民幣"
Specifications
| Specification |
|---|
| Intl.DisplayNames The definition of 'DisplayNames' in that specification. |
Browser compatibility
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DisplayNames | Chrome Full support 81 | Edge Full support 81 | Firefox No support No | IE No support No | Opera Full support 68 | Safari No support No | WebView Android Full support 81 | Chrome Android Full support 81 | Firefox Android No support No | Opera Android Full support 58 | Safari iOS No support No | Samsung Internet Android No support No | nodejs Full support 14.0.0 |
DisplayNames() constructor | Chrome Full support 81 | Edge Full support 81 | Firefox No support No | IE No support No | Opera Full support 68 | Safari No support No | WebView Android Full support 81 | Chrome Android Full support 81 | Firefox Android No support No | Opera Android Full support 58 | Safari iOS No support No | Samsung Internet Android No support No | nodejs Full support 14.0.0 |
of | Chrome Full support 81 | Edge Full support 81 | Firefox No support No | IE No support No | Opera Full support 68 | Safari No support No | WebView Android Full support 81 | Chrome Android Full support 81 | Firefox Android No support No | Opera Android Full support 58 | Safari iOS No support No | Samsung Internet Android No support No | nodejs Full support 14.0.0 |
resolvedOptions | Chrome Full support 81 | Edge Full support 81 | Firefox No support No | IE No support No | Opera Full support 68 | Safari No support No | WebView Android Full support 81 | Chrome Android Full support 81 | Firefox Android No support No | Opera Android Full support 58 | Safari iOS No support No | Samsung Internet Android No support No | nodejs Full support 14.0.0 |
supportedLocalesOf | Chrome Full support 81 | Edge Full support 81 | Firefox No support No | IE No support No | Opera Full support 68 | Safari No support No | WebView Android Full support 81 | Chrome Android Full support 81 | Firefox Android No support No | Opera Android Full support 58 | Safari iOS No support No | Samsung Internet Android No support No | nodejs Full support 14.0.0 |
Legend
- Full support
- Full support
- No support
- No support
Implementation Progress
The following table provides a daily implementation status for new features that has not yet reached cross-browser stability. The data is generated by running the relevant feature tests in Test262, the standard test suite of JavaScript, in the nightly build, or latest release of each browser's JavaScript engine.
