Start · Sprachen · JavaScript · Referenz · Intl.DisplayNames.prototype.of()

Intl.DisplayNames.prototype.of()

Methode

Gibt für einen Code (z. B. Sprache, Region, Schrift oder Währung) den lokalisierten Anzeigenamen zurück, passend zur Locale und zum <code>type</code> der <code>Intl.DisplayNames</code>-Instanz.

seit JavaScript ES2021 (ECMA-402); Typen „calendar“ und „dateTimeF Kategorie: method-property

Signatur

Intl.DisplayNames.prototype.of(code)

Beschreibung

of() übersetzt maschinenlesbare Codes in Namen, die Menschen lesen können. Aus "DE" wird je nach Locale zum Beispiel „Deutschland“, „Germany“ oder „Allemagne“, und aus "EUR" wird „Euro“. Welche Art von Code erwartet wird, legt die Option type fest, die man beim Erstellen von new Intl.DisplayNames(locales, { type }) angibt.

Welches Format gültig ist, hängt vom type ab:

  • "language": ein Unicode-Sprachbezeichner wie "fr", "de-AT" oder "zh-Hant"
  • "region": ein Ländercode nach ISO 3166-1 Alpha-2 ("US") oder ein dreistelliger UN-M.49-Code ("419")
  • "script": ein Schriftcode nach ISO 15924 aus vier Buchstaben ("Latn", "Cyrl")
  • "currency": ein Währungscode nach ISO 4217 aus drei Buchstaben ("EUR", "JPY")
  • "calendar": ein Kalender-Bezeichner nach Unicode ("gregory", "islamic")
  • "dateTimeField": ein Feldname wie "year", "month", "weekday", "hour" oder "timeZoneName"

Die Methode eignet sich für Sprach- und Länderauswahlen, Währungsbezeichnungen und Formularbeschriftungen. Man muss dafür keine eigenen Übersetzungstabellen pflegen, denn die Daten liefert die Laufzeitumgebung (CLDR). Gibt es für einen gültigen Code keinen Namen, entscheidet die Option fallback: Beim Standardwert "code" kommt der Code selbst zurück, bei "none" kommt undefined zurück.

Parameter

Name Typ Default Beschreibung
$code Pflicht string Der Code, der übersetzt werden soll. Sein Format muss zum type der Instanz passen. Groß- und Kleinschreibung spielt keine Rolle: "us" wird wie "US" behandelt.

Rückgabewert

Typ
string | undefined
Beschreibung
Der lokalisierte Anzeigename. Fehlen Daten, kommt bei fallback: "code" (Standard) der normalisierte Code zurück, bei fallback: "none" dagegen undefined.

Beispiele

Länder- und Regionsnamen auf Deutsch

const regionen = new Intl.DisplayNames(['de'], { type: 'region' });

console.log(regionen.of('DE'));
console.log(regionen.of('us'));   // Kleinschreibung wird akzeptiert
console.log(regionen.of('419'));  // UN-M.49-Code
Deutschland Vereinigte Staaten Lateinamerika

Sprachauswahl: jede Sprache in ihrer eigenen Schreibweise

const sprachen = ['de', 'en', 'fr', 'ja', 'uk'];

const optionen = sprachen.map((code) => {
  const eigenName = new Intl.DisplayNames([code], { type: 'language' }).of(code);
  return `${code}: ${eigenName}`;
});

console.log(optionen.join('\n'));
de: Deutsch en: English fr: français ja: 日本語 uk: українська

Währungen, Schriften und Datumsfelder

const waehrung = new Intl.DisplayNames('de', { type: 'currency' });
const schrift  = new Intl.DisplayNames('de', { type: 'script' });
const feld     = new Intl.DisplayNames('de', { type: 'dateTimeField' });

console.log(waehrung.of('CHF'));
console.log(schrift.of('Cyrl'));
console.log(feld.of('weekday'));
Schweizer Franken Kyrillisch Wochentag

Fallback steuern und ungültige Codes abfangen

const mitCode = new Intl.DisplayNames('de', { type: 'region' });
const ohneCode = new Intl.DisplayNames('de', { type: 'region', fallback: 'none' });

console.log(mitCode.of('XA'));   // gültig, aber ohne Daten
console.log(ohneCode.of('XA'));

try {
  mitCode.of('Deutschland');     // kein gültiger Regionscode
} catch (err) {
  console.log(err.name);
}
XA undefined RangeError