Matti Maekitalo: Wie setze ich am besten Mehrsprachigkeit auf Seiten um?

Beitrag lesen

use Mosche;

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)

Ich denke bisher an zwei Alternativen:

  1. pro Sprache eine include-Datei mit einem fest definierten Array
  2. über eine MySQL-Datenbank: in Feld pro verwendetem String, ein Datensatz pro Sprache

Meinst du das so:

Sprache  |  Kennung   | String
------------------------------
    de   |  title     | Meine Homepage
    en   |  title     | my website
... ?

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

Ist es nun ein größeres Projekt oder nicht? Für ein kleineres Projekt reicht sicherlich 1 aus. Wird aber umständlich, wenn du viele Strings hast, die übersetzt werden müssen, da die Datei dann unnötig groß wird.
Wenn du sowieso auf vielen Seiten eine Verbindung zur DB aufbaust, dann würde ich zu 2 tendieren.
Am Ende mußt du auch entscheiden, wie du deine Homepage wartest. Ist die HP insgesamt recht statisch, dann würde ich verschiedene Versionen deiner HP statisch hochladen (statisch bezieht  sich nur auf die Sprache, nicht auf deinen restlichen PHP-Teil). Das ist sicherlich die performanteste Methode. Das erstellen deiner Seiten kannst du dann ja einem kleinen make-Script erledigen lassen, als Vorlage hast du zB deinen Vorschlag 1, und dein Script ersetzt dann alle Platzhalter-Variablen %%%STRING%%% durch den entsprechenden String deiner Sprache.
use Tschoe qw(Matti);

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.