Du schreibst nicht, ob die Seiten relativ unverändert bleiben oder sich laufend ändern, also von daher eine DB erfordern.
Na ja, ein paar dynamische Inhalte wird sie haben, aber das textliche Grundgerüst wird statisch sein.
Problematik: Bei Änderungen/Ergänzungen in einer Sprache müssen alle anderen mitgezogen werden. Deshalb sollten die verschiedenen Sprachen im Quellcode absatz- oder kapitelweise nahe beieinander bleiben.
Ist bei mir nicht so gravierend (s. u.)
Zwei bis drei Sprachen könnte man spaltenweise nebeneinander anzeigen, das sieht recht vernünftig aus:
deutsch english francais
Bei mehr Sprachen wird diese Darstellung aber unübersichtlich und PHP sollte die Sprache ausfiltern:
<?PHP
if ( $n == 'dt' ) {
?>
deutsch<?PHP
} else if ( $n == 'en' ) {
?>
english<?PHP
} else if ( $n == 'fr' ) {
?>
francais<?PHP
}
?>
Bei mir sieht das momentan so aus:
keyValue de en fr
------------- ------------- -------------- -------------
dictionaryHello hallo hello salut
dictionaryName Name name nom
usw. Den keyValue und die aktive Sprache in der Session lege ich dann in ein Array. Im Smarty Template frage ich dann nach dem keyValue und lasse mir den Wert dazu ausgeben. Funktioniert schon ganz gut, meine Hauptsorge ist halt die Performance, wenn die DB mal richtig groß wird. Ich frage SELECT keyValue, de FROM ab und das kann halt irgendwann mal mächtig viel werden, da ich mit meiner derzeitigen Templatelösung keine limitierten Abfragen machen kann. Und wenn doch, dann wären es etliche Einzelabfragen, ich denke, ein großes Array ist schneller.
Jedenfalls danke für Deine Meinung, DB scheint wirklich die angenehmste Lösung zu sein.
Grüße
Kai