Sven Rautenberg: mehrsprachige Internetpräsenz: de, en, pl, ru

Beitrag lesen

Moin!

Trotzdem sind Sessions und eine darin gespeicherte Sprachauswahl unnötig, denn die gewünschte Sprache wird ja schon als Pfadbestandteil der URL übermittelt.

ich hab leider nicht die ganze "Warheit" gepostet. Es wird auch dynamische, allgemeingültige Dateien geben, die sprachspeziifisce Daten aus einer MySQL Datenbank abfragen. Deshalb dachte ich and ie SPeicherung des Sprachkürzels in der Session.

Das ist doch aber kein Grund.

Zum einen: Die simple Lösung wäre, in den einzelnen Verzeichnissen lediglich Wrapper-PHPs abzulegen, die per include() die zentrale Programmlogik integrieren und so in den jeweiligen Sprachen verfügbar machen. Welche Sprache jeweils gewählt ist, kann man entweder in dem Wrapper-PHP direkt setzen:

  
$lang = "en"  
include("../filez/logik.php")  

Oder man entnimmt es der Pfadangabe, die in $_SERVER['SCRIPT_URL'], $_SERVER['REQUEST_URI'] oder $_SERVER['PHP_SELF'] steht.

Mit mod_rewrite bestünde natürlich auch noch eine sehr weitgehende Möglichkeit, die Sprachangabe als Bestandteil des Pfades zu platzieren, und trotzdem im Hintergrund nur mit einer einzelnen PHP-Datei für alle Sprachen zu operieren.

Und wenn du auf
www.example.com/index.php
ein Skript packst, welches die bevorzugte Sprache des Browsers ausliest und einen entsprechenden Redirect produziert, oder alternativ eben die Sprachauswahlseite anzeigst, dann hat der Benutzer eigentlich die bestmögliche Flexibilität und Benutzbarkeit.

Dies hab ich auch vor. Ich muss dann allerdings im DocumentRoot für jeder Sprache eine eigene Index-Datei anlegen?!

Hm, deine Nachfrage verwirrt. Du hast nur ein DocumentRoot für den ganzen Server, nicht je Sprache. Und logischerweise ist vermutlich für jedes Verzeichnis eine Index-Datei erforderlich, also auch für die Unterverzeichnisse jeder Sprache sowie für das Hauptverzeichnis des Servers.

Ob und wie genau man sich das vereinfachen kann, wäre anhand der verfügbaren Möglichkeiten zu prüfen.

- Sven Rautenberg

--
My sssignature, my preciousssss!