Fabienne: automatische Spracherkennung

Hi,

ich baue gerade eine Seite, die auf englisch und deutsch angeboten werden soll. Dazu include ich je nach Sprachauswahl entweder die deutsche "Sprachdatei" oder die englsiche.

Wie kann ich mit PHP per default eine Sprache einstellen, so dass immer die am Betriebsystem des Users eingestellte Sprache die Sprache der Seite ist.

Meine Idee war es, mit JavaScript das zu überprüfen und dann entsprechende an den Server zu schicken (Aber: ist js-Abhängig...)

Lieber wäre mir eine Serverseitige Lösung. Das Teil von Chris Seiler in Selfphp hab ich mir schon angeschaut, ist aber viel zu umfangreich.

Hat jemand Ideen?

Danke!

  1. Hi,

    ich baue gerade eine Seite, die auf englisch und deutsch angeboten werden soll. Dazu include ich je nach Sprachauswahl entweder die deutsche "Sprachdatei" oder die englsiche.

    Wie kann ich mit PHP per default eine Sprache einstellen, so dass immer die am Betriebsystem des Users eingestellte Sprache die Sprache der Seite ist.

    an die Sprache, die der User als Umgebungsvariable einsgestellt hat, kommst Du nicht heran. Du kannst die Sprache, die der User in seinem Browser eingestellt hat mittels $_SERVER['HTTP_ACCEPT_LANGUAGE'] nutzen. Jedoch sollte dies nur ein Einstieg sein und der User auf den Dokumenten Deines Web durch entsprechende Links selbst über die Sprachwahl (dauerhaft) wählen kann.

    Gruß aus Berlin!
    eddi

    1. Hi,

      an die Sprache, die der User als Umgebungsvariable einsgestellt hat, kommst Du nicht heran. Du kannst die Sprache, die der User in seinem Browser eingestellt hat mittels $_SERVER['HTTP_ACCEPT_LANGUAGE'] nutzen. Jedoch sollte dies nur ein Einstieg sein und der User auf den Dokumenten Deines Web durch entsprechende Links selbst über die Sprachwahl (dauerhaft) wählen kann.

      Vielen Dank! Klar kann der User selbst entscheiden, welche Sprache er letztendlich sehen will. Aber als "Voreinstellung" ist das ganz brauchbar.

      Grüße nach Berlin!

  2. Hallo Fabienne,

    Wie kann ich mit PHP per default eine Sprache einstellen, so dass immer die am Betriebsystem des Users eingestellte Sprache die Sprache der Seite ist.

    die Sprache wird nicht am Betriebssystem sondern am Browser eingestellt.

    Lieber wäre mir eine Serverseitige Lösung. Das Teil von Chris Seiler in Selfphp hab ich mir schon angeschaut, ist aber viel zu umfangreich.

    warum umfangreich? du übergibst die verfügbaren Sprachen als 1. Parameter und die Standardsprache als 2. und bekommst die zu verwendende Sprach zurückgegeben - fertig.

    Grüße aus Nürnberg
    Tobias

  3. »» ich baue gerade eine Seite, die auf englisch und deutsch angeboten werden soll [...] Wie kann ich mit PHP per default eine Sprache einstellen,

    Fabienne,
    Dafür ist   entsprechende Serverkonfiguration vorausgesetzt   keinerlei PHP-Schnickschnack nötig.

    Du hast zwei Dateien, foo.html.de und foo.html.en, und wenn der Client (User) nach http://example.net/foo.html verlangt, sprechen sich Client und Server ab (content negotiation), und der Server sendet die Datei, die den Spracheinstellungen der Browsers entspricht.

    Natürlich auch dem User selbst die Sprachauswahl ermöglichen, also auf der englischen Seite ein Link auf http://example.net/foo.html.de und umgekehrt.

    Gunnar

    --
    Es más difícil ser rey sin corona que una persona más normal (Shakira, Octavo día)