Browsersprache zeigt anderen Content an
PhantomPain
- essays
- zu diesem forum
- zur info
Hallo zusammen,
ich wuerde gerne wissen ob es moeglich ist, ueber die eingestellte Browser Sprache, einen anderen Content auf einer Webseite anzeigen zu lassen?
Zum Beispiel macht man es usern damit einfacher, den fuer sie angepassten Content anzuzeigen.
Ist sowas ueberhaupt moeglich? Gibt es einen beispiel quellcode dafuer?
Vielen Dank fuer eure Hilfe
Servus!
Hallo zusammen,
ich wuerde gerne wissen ob es moeglich ist, ueber die eingestellte Browser Sprache, einen anderen Content auf einer Webseite anzeigen zu lassen?
Zum Beispiel macht man es usern damit einfacher, den fuer sie angepassten Content anzuzeigen.
Ist sowas ueberhaupt moeglich?
Ja, dass heißt Internationaliserung, bzw. Content Negotiation.
Im oben verlinkten Artikel gibt es (noch) kein Beispiel.
Gibt es einen beispiel quellcode dafuer?
Aber hier: PHP/Tutorials/Sprachauswahl_mittels_Accept_Language
Herzliche Grüße
Matthias Scharwies
Wow das ging ja schnell. Vielen vielen Dank fuer die schnelle Antwort @Matthias Scharwies Das hilft ungemein weiter
@@Matthias Scharwies
Ja, dass heißt Internationaliserung, bzw. Content Negotiation.
Nein, das heißt es nicht. Internationalisierung umfasst viel mehr als das. Und content negotiation kann auch für Dinge verwendet werden, die mit Internationalisierung nichts zu tun haben (bspw. verschiedene Grafikformate).
Worum es hier geht ist dann eher „Internationalisierung trifft content negotiation“. Symbolbild:
Wobei auch das nicht ganz korrekt ist. In der Schnittmenge ist noch mehr drin als language negotiation.
Ich hab in dem Wiki-Artikel mal ein bisschen rumeditiert und stehe vor der Frage: Sollte man die in Europa oft verwendete britische Schreibweise mit s verwenden oder die im Web wohl vorherrschende amrikanische Schreibweise mit z, also internationalization und localization? 🤔
🖖 Живіть довго і процвітайте
Servus!
Ich hab in dem Wiki-Artikel mal ein bisschen rumeditiert und stehe vor der Frage: Sollte man die in Europa oft verwendete britische Schreibweise mit s verwenden oder die im Web wohl vorherrschende amrikanische Schreibweise mit z, also internationalization und localization? 🤔
Danke! Na das vom W3C verwendete mit z natürlich. (Bei uns wird American English mittlerweile schon ab der 6. Klasse eingeführt.)
Herzliche Grüße
Matthias Scharwies
Hallo PhantomPain,
möglich ist das, aber nicht empfehlenswert. Sprache ≠ Inhalt. Dein Anwender sitzt vielleicht in Südtirol, ist deutschsprachig und möchte deine Italien-Inhalte auf deutsch sehen.
D.h. du kannst die Sprache basierend auf Browser-Informationen vorselektieren, solltest aber trotzdem eine Sprachauswahl vorsehen (nicht mit Flaggen!). Eine Regionalauswahl sollte damit nicht verbunden sein.
Der Browser schickt Request-Header mit, die die bevorzugte Sprache angeben.
https://wiki.selfhtml.org/wiki/HTTP/Header/Accept-Language
Dieser Header kann de-DE als Sprachcode enthalten, muss aber nicht. Du könntest de-DE vorfinden und daraus auf Deutschland schließen, du könntest de-IT vorfinden und daraus auf Südtirol schließen. Aber vielleicht findest Du auch nur "de". Oder de-AT, und der Nutzer sitzt trotzdem in Samnaun nicht in Ischgl.
Den Accept-Language Header kann man serverseitig auswerten und entsprechend reagieren. Entweder in einem PHP Script, oder mittels Header-basierenden Rewrite-Angaben in der .htaccess (oder web.config oder was auch immer der konkrete Webserver zum Konfigurieren nutzt).
Rolf
@@PhantomPain
ich wuerde gerne wissen ob es moeglich ist, ueber die eingestellte Browser Sprache, einen anderen Content auf einer Webseite anzeigen zu lassen?
Zum Beispiel macht man es usern damit einfacher, den fuer sie angepassten Content anzuzeigen.
Ist sowas ueberhaupt moeglich?
Ja: Sprachvereinbarung (language negotiation)
Gibt es einen beispiel quellcode dafuer?
Auch das. Einrichtung von MultiViews-Sprachvereinbarung auf Apache
Um das im Artikel angesprochene Problem bei der Navigation zu lösen, braucht man etwas mehr Aufwand.
🖖 Живіть довго і процвітайте