Intl.Locale

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.

* Some parts of this feature may have varying levels of support.

Das Intl.Locale-Objekt ist eine standardmäßige eingebaute Eigenschaft des Intl-Objekts, die einen Unicode-Locale-Identifikator repräsentiert.

Probieren Sie es aus

const korean = new Intl.Locale("ko", {
  script: "Kore",
  region: "KR",
  hourCycle: "h23",
  calendar: "gregory",
});

const japanese = new Intl.Locale("ja-Jpan-JP-u-ca-japanese-hc-h12");

console.log(korean.baseName, japanese.baseName);
// Expected output: "ko-Kore-KR" "ja-Jpan-JP"

console.log(korean.hourCycle, japanese.hourCycle);
// Expected output: "h23" "h12"

Beschreibung

Das Intl.Locale-Objekt wurde entwickelt, um die Manipulation von Unicode-Locale-Identifikatoren zu erleichtern. Unicode repräsentiert Locales mit einer Zeichenkette, dem sogenannten Locale-Identifikator. Der Locale-Identifikator besteht aus einem Sprachen-Identifikator und Erweiterungstags. Sprachidentifikatoren sind der Kern des Locale und bestehen aus Sprache, Schrift und Regionen-Subtags. Zusätzliche Informationen über das Locale werden in optionalen Erweiterungstags gespeichert. Erweiterungstags enthalten Informationen über Locale-Aspekte wie Kalendertyp, Uhrzeitformat und Nummerierungssystem.

Traditionell verwendete die Intl-API Zeichenketten, um Locales darzustellen, genau wie Unicode. Dies ist eine einfache und effiziente Lösung. Das Hinzufügen einer Locale-Klasse erleichtert jedoch das Parsen und Manipulieren von Sprache, Schrift, Region sowie Erweiterungstags. Die folgenden Eigenschaften von Intl.Locale entsprechen den Unicode-Locale-Identifikator-Subtags:

Eigenschaft Entsprechender Subtag
language language (erster Teil)
script script (zweiter Teil)
region region (zweiter/dritter Teil)
calendar ca (Erweiterung)
caseFirst kf (Erweiterung)
collation co (Erweiterung)
hourCycle hc (Erweiterung)
numberingSystem nu (Erweiterung)
numeric kn (Erweiterung)

Die oben genannten Informationen werden exakt wie eingegeben bereitgestellt, wenn das Locale-Objekt erstellt wird, ohne auf eine externe Datenbank zuzugreifen. Das Intl.Locale-Objekt bietet zusätzlich einige Methoden, die Informationen über praktische Locale-Daten wie verfügbare Kalender, Kollationen und Nummerierungssysteme zurückgeben.

Konstruktor

Intl.Locale()

Erstellt ein neues Locale-Objekt.

Instanz-Eigenschaften

Diese Eigenschaften sind auf Intl.Locale.prototype definiert und werden von allen Intl.Locale-Instanzen geteilt.

Intl.Locale.prototype.baseName

Gibt grundlegende, zentrale Informationen über das Locale in Form eines Teilabschnitts der vollständigen Datenzeichenkette zurück.

Intl.Locale.prototype.calendar

Gibt den Teil des Locale zurück, der die Kalenderära beschreibt.

Intl.Locale.prototype.caseFirst

Gibt zurück, ob Groß- und Kleinschreibung bei den Kollationsregeln des Locales berücksichtigt wird.

Intl.Locale.prototype.collation

Gibt den Kollationstyp des Locale zurück, der verwendet wird, um Zeichenketten entsprechend der Locale-Regeln zu sortieren.

Intl.Locale.prototype.constructor

Die Konstruktorfunktion, die die Instanz erstellt hat. Für Intl.Locale-Instanzen ist der Anfangswert der Intl.Locale-Konstruktor.

Intl.Locale.prototype.hourCycle

Gibt das Zeitformatierungssystem des Locales zurück.

Intl.Locale.prototype.language

Gibt die mit dem Locale verbundene Sprache zurück.

Intl.Locale.prototype.numberingSystem

Gibt das vom Locale verwendete Zahlensystem zurück.

Intl.Locale.prototype.numeric

Gibt zurück, ob das Locale eine spezielle Kollationsbehandlung für numerische Zeichen bietet.

Intl.Locale.prototype.region

Gibt die Weltregion (normalerweise ein Land) des Locales zurück.

Intl.Locale.prototype.script

Gibt die Schriftart zurück, die für das Schreiben der spezifischen Sprache verwendet wird.

Intl.Locale.prototype[Symbol.toStringTag]

Der Anfangswert der [Symbol.toStringTag]-Eigenschaft ist der String "Intl.Locale". Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Instanz-Methoden

Intl.Locale.prototype.getCalendars()

Gibt ein Array von verfügbaren Kalenderkennungen gemäß den Locale-Regeln zurück.

Intl.Locale.prototype.getCollations()

Gibt ein Array von Kollationstypen des Locale zurück.

Intl.Locale.prototype.getHourCycles()

Gibt ein Array von Zeitzykluskennungen zurück, die entweder die 12-Stunden-Uhr ("h12"), die japanische 12-Stunden-Uhr ("h11"), die 24-Stunden-Uhr ("h23") oder das ungenutzte Format "h24" anzeigen.

Intl.Locale.prototype.getNumberingSystems()

Gibt ein Array von Nummerierungskennungen zurück, die gemäß den Locale-Regeln verfügbar sind.

Intl.Locale.prototype.getTextInfo()

Gibt den Teil zurück, der die Schreibrichtung ltr (links-nach-rechts) oder rtl (rechts-nach-links) angibt.

Intl.Locale.prototype.getTimeZones()

Gibt ein Array von Zeitzonenkennungen zurück, die mit dem Locale verbunden sind.

Intl.Locale.prototype.getWeekInfo()

Gibt die UTS 35's Week Elements gemäß den Locale-Regeln zurück.

Intl.Locale.prototype.maximize()

Ermittelt die wahrscheinlichsten Werte für Sprache, Schrift und Region des Locales basierend auf den vorhandenen Werten.

Intl.Locale.prototype.minimize()

Versucht, Informationen über das Locale zu entfernen, die durch das Aufrufen von maximize() hinzugefügt würden.

Intl.Locale.prototype.toString()

Gibt die vollständige Locale-Identifikator-Zeichenkette zurück.

Beispiele

Grundlegende Nutzung

Im einfachsten Fall nimmt der Intl.Locale()-Konstruktor eine Locale-Identifikator-Zeichenkette als Argument:

js
const us = new Intl.Locale("en-US");

Nutzung des Locale-Konstruktors mit einem Optionsobjekt

Der Konstruktor akzeptiert auch ein optionales Konfigurationsobjekt, das verschiedene Erweiterungstypen enthalten kann. Zum Beispiel können Sie die hourCycle-Eigenschaft des Konfigurationsobjekts auf den gewünschten Stundentyp setzen und dann in den Konstruktor übergeben:

js
const us12hour = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(us12hour.hourCycle); // Prints "h12"

Spezifikationen

Specification
ECMAScript® 2025 Internationalization API Specification
# locale-objects

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Locale
Locale() constructor
baseName
calendar
caseFirst
collation
getCalendars
getCollations
getHourCycles
getNumberingSystems
getTextInfo
getTimeZones
getWeekInfo
hourCycle
language
maximize
minimize
numberingSystem
numeric
region
script
toString

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.
Uses a non-standard name.
Has more compatibility info.

Siehe auch