PhantomPain: Browsersprache zeigt anderen Content an

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

  1. 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

    --
    Einfach mal was von der ToDo-Liste auf die Was-Solls-Liste setzen.“
    1. Wow das ging ja schnell. Vielen vielen Dank fuer die schnelle Antwort @Matthias Scharwies Das hilft ungemein weiter

    2. @@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:

      Venn-Diagramm: i18n und content negotiation; Schnittmenge: language negotiation

      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? 🤔

      🖖 Живіть довго і процвітайте

      --
      When the power of love overcomes the love of power the world will know peace.
      — Jimi Hendrix
      1. 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

        --
        Einfach mal was von der ToDo-Liste auf die Was-Solls-Liste setzen.“
  2. 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

    --
    sumpsi - posui - obstruxi
  3. @@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.

    🖖 Живіть довго і процвітайте

    --
    When the power of love overcomes the love of power the world will know peace.
    — Jimi Hendrix