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 derIntl.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 inObject.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 desLocale
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) oderrtl
(rechts-nach-links) angibt. Intl.Locale.prototype.getTimeZones()
-
Gibt ein
Array
von Zeitzonenkennungen zurück, die mit demLocale
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:
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® 2025 Internationalization API Specification # locale-objects |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubLegend
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
- Polyfill of
Intl.Locale
in FormatJS Intl
- Canonical Unicode Locale Identifiers in der Unicode-Locale-Daten-Markup-Spezifikation