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.
definiert und werden von allen Intl.Locale
-Instanzen geteilt.
Intl.Locale..baseName
Gibt grundlegende, zentrale Informationen über das
Locale
in Form eines Teilabschnitts der vollständigen Datenzeichenkette zurück.Intl.Locale..calendar
Gibt den Teil des
Locale
zurück, der die Kalenderära beschreibt.Intl.Locale..caseFirst
Gibt zurück, ob Groß- und Kleinschreibung bei den Kollationsregeln des Locales berücksichtigt wird.
Intl.Locale..collation
Gibt den Kollationstyp des
Locale
zurück, der verwendet wird, um Zeichenketten entsprechend der Locale-Regeln zu sortieren.Intl.Locale..constructor
Die Konstruktorfunktion, die die Instanz erstellt hat. Für
Intl.Locale
-Instanzen ist der Anfangswert derIntl.Locale
-Konstruktor.Intl.Locale..hourCycle
Gibt das Zeitformatierungssystem des Locales zurück.
Intl.Locale..language
Gibt die mit dem Locale verbundene Sprache zurück.
Intl.Locale..numberingSystem
Gibt das vom Locale verwendete Zahlensystem zurück.
Intl.Locale..numeric
Gibt zurück, ob das Locale eine spezielle Kollationsbehandlung für numerische Zeichen bietet.
Intl.Locale..region
Gibt die Weltregion (normalerweise ein Land) des Locales zurück.
Intl.Locale..script
Gibt die Schriftart zurück, die für das Schreiben der spezifischen Sprache verwendet wird.
Intl.Locale.[Symbol.toStringTag]
Der Anfangswert der
[Symbol.toStringTag]
-Eigenschaft ist der String"Intl.Locale"
. Diese Eigenschaft wird inObject..toString()
verwendet.
Instanz-Methoden
Intl.Locale..getCalendars()
Gibt ein
Array
von verfügbaren Kalenderkennungen gemäß den Locale-Regeln zurück.Intl.Locale..getCollations()
Gibt ein
Array
von Kollationstypen desLocale
zurück.Intl.Locale..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..getNumberingSystems()
Gibt ein
Array
von Nummerierungskennungen zurück, die gemäß den Locale-Regeln verfügbar sind.Intl.Locale..getTextInfo()
Gibt den Teil zurück, der die Schreibrichtung
ltr
(links-nach-rechts) oderrtl
(rechts-nach-links) angibt.Intl.Locale..getTimeZones()
Gibt ein
Array
von Zeitzonenkennungen zurück, die mit demLocale
verbunden sind.Intl.Locale..getWeekInfo()
Gibt die UTS 35's Week Elements gemäß den Locale-Regeln zurück.
Intl.Locale..maximize()
Ermittelt die wahrscheinlichsten Werte für Sprache, Schrift und Region des Locales basierend auf den vorhandenen Werten.
Intl.Locale..minimize()
Versucht, Informationen über das Locale zu entfernen, die durch das Aufrufen von
maximize()
hinzugefügt würden.Intl.Locale..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:
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:
const us12hour = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(us12hour.hourCycle); // Prints "h12"
Spezifikationen
Specification |
---|
ECMAScript® 2026 Internationalization API Specification # locale-objects |
Browser-Kompatibilität
Siehe auch
- Polyfill of
Intl.Locale
in FormatJS Intl
- Canonical Unicode Locale Identifiers in der Unicode-Locale-Daten-Markup-Spezifikation