Intl.Locale
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2020 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Das Intl.Locale-Objekt ist eine standardmäßig integrierte Eigenschaft des Intl-Objekts und repräsentiert einen Unicode-Locale-Identifier.
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 geschaffen, um die Arbeit mit Unicode-Locales zu erleichtern. Unicode stellt Locales durch Zeichenfolgen dar, die als Locale-Identifier bezeichnet werden. Ein Locale-Identifier besteht aus einem Sprach-Identifier und Erweiterungs-Tags. Sprach-Identifier bilden den Kern einer Locale und bestehen aus Subtags für Sprache, Schriftsystem, Region und Varianten. Zusätzliche Informationen über die Locale werden in den optionalen Erweiterungs-Tags gespeichert. Diese enthalten Angaben zu Aspekten wie Kalendertyp, Uhrzeitformat und Zahlensystem.
Traditionell verwendete die Intl-API wie Unicode Zeichenfolgen zur Darstellung von Locales. Das ist eine einfache und ressourcenschonende Lösung, die gut funktioniert. Eine Locale-Klasse erleichtert jedoch das Auslesen und Ändern von Sprache, Schriftsystem, Region und Erweiterungs-Tags. Die folgenden Eigenschaften von Intl.Locale entsprechen den Subtags eines Unicode-Locale-Identifiers:
| Eigenschaft | Entsprechender Subtag |
|---|---|
language |
Sprach-ID, erster Teil |
script |
Sprach-ID, Teil nach language |
region |
Sprach-ID, Teil nach script |
variants |
Sprach-ID, Teil nach region |
calendar |
ca (Erweiterung) |
caseFirst |
kf (Erweiterung) |
collation |
co (Erweiterung) |
hourCycle |
hc (Erweiterung) |
numberingSystem |
nu (Erweiterung) |
numeric |
kn (Erweiterung) |
Die oben genannten Informationen werden beim Erstellen des Locale-Objekts unverändert übernommen, ohne eine externe Datenbank abzufragen. Das Intl.Locale-Objekt bietet darüber hinaus Methoden, die Informationen über die tatsächlichen Gegebenheiten einer Locale zurückgeben, etwa verfügbare Kalender, Kollationen und Zahlensysteme.
Konstruktor
Intl.Locale()-
Erstellt ein neues
Locale-Objekt.
Instanzeigenschaften
Diese Eigenschaften sind auf Intl.Locale.prototype definiert und werden von allen Intl.Locale-Instanzen gemeinsam verwendet.
Intl.Locale.prototype.baseName-
Gibt grundlegende Informationen über die
Localeals Teilzeichenfolge des vollständigen Datenstrings zurück. Intl.Locale.prototype.calendar-
Gibt den Teil der
Localezurück, der ihren Kalendertyp angibt. Intl.Locale.prototype.caseFirst-
Gibt an, ob gemäß den Kollationsregeln der Locale Groß- oder Kleinbuchstaben zuerst sortiert werden.
Intl.Locale.prototype.collation-
Gibt den Kollationstyp der
Localezurück, der zur Sortierung von Zeichenfolgen nach den Regeln der Locale verwendet wird. Intl.Locale.prototype.constructor-
Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Bei
Intl.Locale-Instanzen ist der Anfangswert der KonstruktorIntl.Locale. Intl.Locale.prototype.hourCycle-
Gibt das in der Locale verwendete Uhrzeitformat zurück.
Intl.Locale.prototype.language-
Gibt die der Locale zugeordnete Sprache zurück.
Intl.Locale.prototype.numberingSystem-
Gibt das in der Locale verwendete Zahlensystem zurück.
Intl.Locale.prototype.numeric-
Gibt an, ob die Locale eine besondere Kollationsbehandlung für numerische Zeichen vorsieht.
Intl.Locale.prototype.region-
Gibt die der Locale zugeordnete Weltregion zurück (üblicherweise ein Land).
Intl.Locale.prototype.script-
Gibt das Schriftsystem zurück, mit dem die Sprache der Locale geschrieben wird.
Intl.Locale.prototype.variants-
Gibt die der Locale zugeordneten Varianten-Subtags zurück, etwa für unterschiedliche Rechtschreibungen.
Intl.Locale.prototype[Symbol.toStringTag]-
Der Anfangswert der Eigenschaft
[Symbol.toStringTag]ist die Zeichenfolge"Intl.Locale". Diese Eigenschaft wird vonObject.prototype.toString()verwendet.
Instanzmethoden
Intl.Locale.prototype.getCalendars()-
Gibt ein
Arraymit den nach den Regeln der Locale verfügbaren Kalender-Identifiern zurück. Intl.Locale.prototype.getCollations()-
Gibt ein
Arraymit den Kollationstypen derLocalezurück. Intl.Locale.prototype.getHourCycles()-
Gibt ein
Arraymit Identifiern für Uhrzeitformate zurück: für die 12-Stunden-Uhr ("h12"), die japanische 12-Stunden-Uhr ("h11"), die 24-Stunden-Uhr ("h23") oder das nicht verwendete Format "h24". Intl.Locale.prototype.getNumberingSystems()-
Gibt ein
Arraymit den nach den Regeln der Locale verfügbaren Zahlensystem-Identifiern zurück. Intl.Locale.prototype.getTextInfo()-
Gibt den Teil zurück, der die Schreibrichtung der Zeichen angibt:
ltr(von links nach rechts) oderrtl(von rechts nach links). Intl.Locale.prototype.getTimeZones()-
Gibt ein
Arraymit Zeitzonen-Identifiern zurück, die derLocalezugeordnet sind. Intl.Locale.prototype.getWeekInfo()-
Gibt die Wochenelemente aus UTS 35 gemäß den Regeln der Locale zurück.
Intl.Locale.prototype.maximize()-
Ermittelt anhand der vorhandenen Werte die wahrscheinlichsten Werte für Sprache, Schriftsystem und Region der Locale.
Intl.Locale.prototype.minimize()-
Versucht, Informationen über die Locale zu entfernen, die durch einen Aufruf von
maximize()wieder hinzugefügt würden. Intl.Locale.prototype.toString()-
Gibt den vollständigen Locale-Identifier der Locale als Zeichenfolge zurück.
Beispiele
>Grundlegende Verwendung
In der einfachsten Form erhält der Konstruktor Intl.Locale() eine Zeichenfolge mit einem Locale-Identifier als Argument:
const us = new Intl.Locale("en-US");
Verwendung des Locale-Konstruktors mit einem Optionsobjekt
Der Konstruktor akzeptiert außerdem ein optionales Konfigurationsobjekt, das verschiedene Erweiterungstypen enthalten kann. Setzen Sie beispielsweise die Eigenschaft hourCycle des Konfigurationsobjekts auf das gewünschte Uhrzeitformat und übergeben Sie das Objekt anschließend an den Konstruktor:
const us12hour = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(us12hour.hourCycle); // Prints "h12"
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Internationalization API Specification> # locale-objects> |
Browser-Kompatibilität
Siehe auch
- Polyfill für
Intl.Localein FormatJS Intl- Kanonische Unicode-Locale-Identifier in der Spezifikation der Unicode Locale Data Markup Language