Erkennen der Browser-Sprachpräferenz mit JavaScript
Bei der Entwicklung von Webanwendungen ist es oft notwendig, die Sprachpräferenz des bereitzustellenden Browsers des Benutzers zu erkennen lokalisierte Inhalte und verbessern das Benutzererlebnis. JavaScript bietet mehrere Eigenschaften für den Zugriff auf Sprachinformationen, aber die spezifischen Eigenschaften, die die gewünschten Werte zurückgeben, können je nach verwendetem Browser und Betriebssystem variieren.
In Internet Explorer kann die bevorzugte Sprache unter Extras > Internet festgelegt werden Optionen > Allgemein > Sprachen. Die navigator.Language-Eigenschaft von JavaScript spiegelt diese Einstellung jedoch möglicherweise nicht immer genau wider. Um die Spracheinstellung im IE zu erkennen, kann man die Eigenschaft navigator.userLanguage verwenden, die die unter Start > Systemsteuerung > Regional- und Sprachoptionen > Regionale Optionen konfigurierte Einstellung abruft.
In Firefox kann die Spracheinstellung sein finden Sie unter Extras > Optionen > Inhalt > Sprachen. Allerdings stellt navigator.sprache diese Informationen möglicherweise nicht zuverlässig bereit. Stattdessen wird die Verwendung von navigator.browserLanguage oder navigator.systemLanguage empfohlen.
Leider gibt es in JavaScript keine direkte Methode für den Zugriff auf den HTTP-Header „Accept-Language“, der von den Spracheinstellungen des Browsers abhängt. Eine Problemumgehung kann jedoch implementiert werden, indem ein Endpunkt eines Drittanbieters oder ein Proxy zum Abrufen des Header-Werts verwendet wird. Beispielsweise kann ein Google App Engine-Skript verwendet werden, um die Anforderungsheader über JSONP zurückzugeben, sodass Sie den Header „Accept-Language“ aus JavaScript abrufen können.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3