Intl.DisplayNames în JavaScript

Traduce coduri de țări, limbi, monede și scripturi în nume afișabile: „DE” → „Germania”.

Sintaxă
const dn = new Intl.DisplayNames(["ro"], { type: "region" });
dn.of(cod)

Ce face Intl.DisplayNames

Opțiunea obligatorie type alege ce traduci: "region" (coduri de țară ISO, ca "RO"), "language" ("hu", "en-US"), "currency" ("EUR"), "script" ("Cyrl"), "calendar" sau "dateTimeField".

of(cod) returnează numele în limba formatorului. Pentru un cod necunoscut, dar valid ca formă, returnează codul însuși (sau undefined cu fallback: "none").

Parametri

Parametru Descriere
limba Limba în care se afișează numele.
optiuni type (obligatoriu), style, fallback.

Ce returnează

Un obiect formator.

Exemple

Exemplul 1: Țări, limbi și monede în română

const tari = new Intl.DisplayNames(["ro"], { type: "region" });
const limbi = new Intl.DisplayNames(["ro"], { type: "language" });
const monede = new Intl.DisplayNames(["ro"], { type: "currency" });

console.log(["RO", "MD", "DE", "US"].map((c) => tari.of(c)));
console.log(limbi.of("hu"), "|", limbi.of("en-GB"), "|", monede.of("EUR"), "|", monede.of("RON"));
console.log(new Intl.DisplayNames(["ro"], { type: "dateTimeField" }).of("month"));
console.log(tari.resolvedOptions().type, Intl.DisplayNames.supportedLocalesOf("ro"));

Rezultat

[
  'România',
  'Republica Moldova',
  'Germania',
  'Statele Unite ale Americii'
]
maghiară | engleză (Regatul Unit) | euro | leu românesc
lună
region [ 'ro' ]

Greșeli frecvente

  • Creezi formatorul fără type și primești TypeError. Opțiunea este obligatorie.

Comenzi înrudite

  • Intl.Locale: Descrie o limbă și o regiune (ro-RO) și oferă informații despre ea: calendar, prima zi a săptămânii, fusuri orare.
  • Intl.NumberFormat: Formatează numere după regulile unei limbi: monedă, procente, unități, forme compacte (1,2 mil.).
  • Intl.getCanonicalLocales / supportedValuesOf: Corectează codurile de limbă și listează valorile suportate: monede, fusuri orare, calendare.