Das Intl Objekt ist der Namensraum für die ECMAScript Internationalisierunges API, welche sprachenabhängige Stringvergleiche, Zahlenformate und Datums bzw. Zeitformate unterstützt. Der Konstruktoren für Collator, NumberFormat und DateTimeFormat Objekte sind Eigenschaften des Intl Objektes. Diese Seite dokumentiert diese Eigenschaften sowie die Funktionalität, die in Internationalisierungskonstruktoren und anderen sprachsensitiven Funktionen gemeinsam sind.

Eigenschaften

Intl.Collator
Konstruktor für Collatoren, Objekte mit sprachsensitiven Stringvergleichen.
Intl.DateTimeFormat
Konstruktor für Objekte, die Daten und Zeiten sprachsensitiv formatieren.
Intl.NumberFormat
Konstruktor für Objekte, die Zahlen sprachsensitiv formatieren.
Intl.PluralRules
Konstruktor für Objekte, die mit Pluralsprachregeln pluralsensitiv formatieren kann.

Methoden

Intl.getCanonicalLocales()
Eine Methode, die den kanonischen Gebietsnamen zurückgibt.

Gebietsidentifikation und -verhandlung

Die Internationalisierungskonstruktoren genauso wie viele sprachsensitive Methoden von anderen Konstruktoren (aufgelistet unter Siehe auch) benutzten übliche Muster für die Identifizierung von Gebieten und der Feststellung des aktuellen Gebietes: Alle diese akzeptieren locales und options Parameter und verhandeln ein Gebiet aus den gesendeten Gebieten und den Lokal unterstützen Gebieten mithilfe eines Speziellen Algorithmus in der Eigenschaft options.localeMatcher aus.

locales Argument

Das locales Argument muss entweder ein String sein, der einen BCP 47 Sprachcode enthält, oder ein Array mit solche Sprachcodes. Wenn dieses Argument nicht unterstützt ist oder undefined ist, wird das lokale Standardgebiet benutzt.

Ein BCP 47-Sprachcode definiert eine Sprache und enthält minimal einen primären Sprachcode. In seiner gebräuchlichsten Form kann er folgender Reihenfolge enthalten: einen Sprachcode, einen Skriptcode und einen Länder- oder Regionscode, alle getrennt durch Bindestriche. Weil diese Codes unabhängig von Groß- und Kleinschreibung ist, ist es empfohlen bei Skriptcodes den ersten Buchstaben groß zuschreiben, bei Länder- und Regionscodes soll alles groß geschrieben werden und der Rest soll klein geschreiben werden.

Beispiele:

  • "hi": Hindi (primäre Sprache).
  • "de-AT": Deutsch wie es in Österreich genutzt wird (primäre Sprache mit Ländercode).
  • "zh-Hans-CN": Chinesisch geschrieben mit speziellen Zeichen, wie es in China genutzt wird (Primäre Sprache mit Skript- und Ländercode).

Die Subcodes zum identifizieren von Sprachen, Skripten, Ländern (Regionen) und (selten genutzen) Varianten in BCP 47 Sprachcodes können im IANA Sprach Subtag Register gefunden werden.

BCP 47 erlaubt sogar Erweiterungen. JavaScript Internationalisierungsfunktionen benutzen die "u" (Unicode) Erweiterung, welche es ermöglicht benutzerdefinierte Änderungen in Collator, NumberFormat oder DateTimeFormat einzubringen. Beispiele:

  • "de-DE-u-co-phonebk": Benutzt die Telefonbuch-Variante der deutschen Sortierreihenfolge, welche Umlaute zu Paaren übersetzt: ä → ae, ö → oe, ü → ue.
  • "th-TH-u-nu-thai": Benutzt Thei-Zeichen(๐, ๑, ๒, ๓, ๔, ๕, ๖, ๗, ๘, ๙) im Nummernformat.
  • "ja-JP-u-ca-japanese": Benutzt den Japanischen Kalender für Datums- und Zeitformate, so dass 2013 als Jahr 25 der Heisei Periode ist oder 平成25.
  • "en-GB-u-ca-islamic": Benutzt Britisches Englisch mit dem Islamic (Hijri) Kalender, indem das gregorianische Datum 14. Oktober 2017 das Hijri Datum 24 Muharram, 1439 ist.

Gebietsauswahl

Das locales Argument wird als priorisierte Angabe für die Applikation interpretiert, nach dem alle Unicode-Erweiterungen durchführt wurden. Zur Laufzeut wird gegeben verfügbare Gebiete verglichen und das am besten passende genommen. Es existieren zwei Algorithmen für die Auswahl: die "lookup" Auswahl, die dem im BCP 47 spezifizierten Algorithmus folgt; die "best fit" Auswahl, bei dem die Laufzeigumgebung mindestens einen gleichgutes Ergebnis wie der Lookup Algorithmus erzielt, wenn nicht sogar einen besseren. Wenn die Applikation kein locales Argument unterstützt oder die Laufzeit kein Gebiet hat, welches passt, dann wird das Standardgebiet der Laufzeitumgebung werdendet. Das Algorithmus zur Auswahl kann über das options Argument ausgewählt werden (siehe unten).

Wenn der ausgewählte Sprache-Tag eine Unicode Erweiterung hat, wird diese genutzt, um das erstellte Objekte oder das Verhalten der Funktion anzupassen. Jeder Konstruktor oder jede Funktion unterstützt nur eine Untermenge der als Unicode Erweiterungen definierten Schlüssel und die unterstützen Werte sind meistens von Sprach-Tag abhängig. Zum Beispiel ist der "co" Schlüssel (collation) nur in Collator unterstützt und der "phonebk" Wert ist nur im Deutschen unterstützt.

options Argument

Das options Argument muss ein Objekt mit Eigenschaften sein, welche vom Konstruktor und der Funktion abhängen. Wenn das options Argument nicht unterstützt wird oder undefined ist, werden Standardwerte für alle Eigenschaften benutzt.

Eine Eigenschaft ist in allen sprachensensitiven Konstruktoren und Funktionen forhanden: Die localeMatcher Eigenschaft, die vom Datentyp String ist und den Wert "lookup" oder "best fit" hat, welche den Algorithmus für die Auswahl des Gebietes beschreiben (siehe oben).

Spezifikationen

Spezifikation Status Kommentar
ECMAScript Internationalization API 1.0 (ECMA-402)
Die Definition von 'Intl' in dieser Spezifikation.
Standard Initiale Definition.
ECMAScript Internationalization API 2.0 (ECMA-402)
Die Definition von 'Intl' in dieser Spezifikation.
Standard  
ECMAScript Internationalization API 4.0 (ECMA-402)
Die Definition von 'Intl' in dieser Spezifikation.
Entwurf Intl.getCanonicalLocales in the 4. Auflage hinzugefügt.

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung24 Ja29111510
getCanonicalLocales54 Nein48 Nein Nein11
Collator24 Ja29111510
DateTimeFormat24 Ja29111510
NumberFormat24 Ja29111510
PluralRules63 Nein58 Nein50 Nein
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Grundlegende Unterstützung Nein26 Ja56 ?10 Ja
getCanonicalLocales Nein Nein Nein56 Nein11 Nein
Collator Nein26 Ja56 ?10 Ja
DateTimeFormat Nein26 Ja56 ?10 Ja
NumberFormat4.426 Ja563710 Ja
PluralRules6363 Nein5850 Nein Nein

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
Mitwirkende an dieser Seite: schlagi123
Zuletzt aktualisiert von: schlagi123,