Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Navigator: languages-Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Oktober 2017⁩.

Die schreibgeschützte languages-Eigenschaft des Navigator-Interfaces gibt ein Array von Strings zurück, die die bevorzugten Sprachen des Benutzers darstellen. Die Sprache wird mit einem BCP 47-Sprachtag beschrieben. Im zurückgegebenen Array sind sie nach Präferenz geordnet, wobei die am meisten bevorzugte Sprache zuerst erscheint.

Der Wert von navigator.language ist das erste Element des zurückgegebenen Arrays.

Wenn sich der Wert ändert, beispielsweise wenn die bevorzugten Sprachen des Benutzers geändert werden, wird ein languagechange-Ereignis auf dem Window-Objekt ausgelöst.

Der Accept-Language HTTP-Header in jeder HTTP-Anfrage des Browsers des Benutzers listet im Allgemeinen die gleichen Locale wie die navigator.languages-Eigenschaft auf, mit abnehmenden q-Werten (Qualitätswerte). Einige Browser (Chrome und Safari) fügen im Accept-Language-Header Sprachtags ohne Länderkennzeichnung als Fallback hinzu—zum Beispiel en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7, wenn navigator.languages ["en-US", "zh-CN"] ist. Aus Datenschutzgründen (Reduzierung von Fingerprinting) können sowohl Accept-Language als auch navigator.languages möglicherweise nicht die vollständige Liste der Benutzerpräferenzen enthalten, wie zum Beispiel in Safari (immer) und im Inkognito-Modus von Chrome, wo nur eine Sprache aufgelistet ist.

Wert

Ein Array von Strings.

Beispiele

Auflisten der Inhalte von navigator.language und navigator.languages

js
navigator.language; // "en-US"
navigator.languages; // ["en-US", "zh-CN", "ja-JP"]

Verwenden von Intl-Konstruktoren für sprachspezifische Formatierung mit Fallback

Das Array von Sprachkennungen, das in navigator.languages enthalten ist, kann direkt an die Intl-Konstruktoren übergeben werden, um eine präferenzbasierte Fallbackauswahl von Locales zu implementieren, bei der der erste Eintrag in der Liste verwendet wird, der eine von Intl unterstützte Locale entspricht:

js
const date = new Date("2012-05-24");

const formattedDate = new Intl.DateTimeFormat(navigator.languages).format(date);

Spezifikationen

Specification
HTML
# dom-navigator-languages-dev

Browser-Kompatibilität

Siehe auch