Hallo!
Ich habe mir mal wieder vorgenommen, ein größeres Projekt anzugehen. Und dabei stellt sich für mich folgende Frage:
Wenn ich die komplette Seite mehrsprachig darstellen möchte (sprich sämtliche in der Sprache variable Zeichenketten in Abhängigkeit einer PHP-Variable, z.B. $lan, austauschbar machen möchte), wie stelle ich es am sinnvollsten an diese abzuspeichern und wieder aufzurufen?
Dabei sollte berücksichtigt werden, daß jede Sprache nach Bedarf eingebunden werden können soll.
Ich denke bisher an zwei Alternativen:
- pro Sprache eine include-Datei mit einem fest definierten Array, z.B. der Form $text[-sprache-][-string-].
Also so etwas wie:
languages/de.lan.php
$text['de'][title] = "Meine Homepage";
$text['de'][menu] = "Hauptmenu";
languages/us.lan.php
$text['us'][title] = "My Homepage";
$text['us'][menu] = "Main menu";
languages/fr.lan.php
$text['fr'][title] = "Mon site internet";
$text['fr'][menu] = "Menu principal";
zur Augabe dann: echo $text[$lan][was_gerade_gebraucht_wird];
- über eine MySQL-Datenbank: in Feld pro verwendetem String, ein Datensatz pro Sprache
In diesem Fall müßte halt für jede Seite der Satz enthaltener Zeichenketten abgerufen werden, hätte aber doch den Vorteil, daß nicht immer der _komplette_ Satz Text eingebunden wird.
Was meint ihr? Was währen noch weitere Alternativen? Wie unterscheiden sich diese in der Serverbelastung (ruhig auch nur rein hypothetisch, kann mir nicht vorstellen, daß meine Seite jemals einen Andrang generieren würde, die eine Server in die Knie zwingt).
Gruß
Matthias
ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
http://www.makaio.de/quotations