Internationaliesierung von Templates

lago

Mitglied
Hallo Hallo,

also ich habe folgendes Problem ich möchte bei meinem PHP-Projekt die Templates internationalisieren, bei meinem Recherchen bin ich dabei auf diesen i18n standard gestolpert, der würde auch eine lösung per übersetzungsdateien (für jede sprache wird der text, in variablen verpackt, die natürlich für die gleichen fragmente gleich heissen, aber in unterschiedlichen ordner liegen, ich binde also die datei ein, die ein user als favorit angegeben hat), nur funktioniert das kein bisschen, gibt es hierfür nicht eine vorprogrammierte Klasse, die sowas erledigt? ich weiss blöde frage aber ich hab echt nix gefunden


Gruss
Dominik
 
Dein Ansatz ist ja schonmal sehr gut, aber ohne Quelltext fühl ich mich außer Stande einen Fehler zu suchen bzw. zu finden. Letzendlich könnte ich mir vorstelle, dass in einer Datenbank zu jedem Benutzer gespeichert ist welche Sprache er haben will. Wie du schon sagtest hast du alle Texte in jeweils einer einzelnen Datei. Jetzt musst du z.B. nur noch die entsprechende Datei includen und im Template die Werte einsetzen.
 
da ich in der Regel für meine Templates Smarty benutze, lässt sich sowas auch einfach Realisieren. Erstmal vergibst du eine Session sobald der User auf die Seite kommt. Dem Session-Array gibst du dann ein Element, z.B. language und schreibst dort ein Sprachkürzel rein. Steht noch keins drin, z.B. weil die session gerade "neu" erzeugt wurde nimmst du einfach die Standard-Sprache, welche auch immer das ist.
So nun hast du irgendwo einen üpberordner, in dem deine Templates liegen.
Diesen Pfad kennst du und ergänz ihn einfach um das Sprachkürzel und so komsmt du zur richtigen Datei.
Beispiel:
Code:
   /index.php
   /....
   /templates/
         de/template1.tpl
         de/template2.tpl
         ....
          en/template1.tpl
          en/template2.tpl
           ...

hth
 
Zurück