Multi-language-PHP-Anwendung: best practice?

Ich würde gerne Ihr feedback über die Art und Weise, die ich implementiert multi-language-support auf meine PHP-MVC-web-app. Das ist, wie ich getan habe:

  • in den /app Ordner die ich erstellt ein /languages-Ordner enthält eine Datei pro Sprache (english.php, spanish.php etc.)
  • jede Datei enthält eine Reihe von Variablen mit dem gleichen Namen in einzelnen Dateien mit den Texten zum Rendern der Ansichten
  • diese Variablen werden dann ausgegeben in den verschiedenen Ansichten
  • eine "Sprache" cookie-variable wird aktualisiert, wenn der Benutzer die Sprache ändert
  • in die Steuerung der einzelnen views habe ich auch eine language-Datei auf dem folgenden format:

include $_SERVER['DOCUMENT_ROOT'] . "/app/languages/" . $_COOKIE["Sprache"] . ".php";

Klingt ziemlich nett zu mir. Haben Sie irgendwelche negativen Gedanken über diese Methode?

  • Verwenden Sie nicht den cookie-Wert und ohne Prüfung, wird ein cookie kann verändert werden, indem der client!
  • Ein paar Dinge, möchten Sie vielleicht die Sprache ein Teil der URL. So, die bots können Ihre Website indizieren. Auch, möchten Sie vielleicht, um den Inhalt zu verschieben, um die DB anstatt es in eine Datei, weil dann wird es einfacher für Sie, um neue Sprachen hinzufügen
  • gute Punkte, danke für den Hinweis aus der Validierung zeigen! Ich erwäge verschieben auf die DB. Ich schließlich dachte Umweg über eine Datei ist möglicherweise eine bessere Leistung her... Aber möglicherweise schwieriger zu pflegen, in der Tat. Wenn ich ging durch die DB-option, ich dachte, es entwerfen (ich bin mit mySQL) erstellen Sie ein Feld Sprache, und dann ein Feld pro Seite (index.php, home.php etc), die jeweils mit einem array der verschiedenen Texte zu Rendern auf jeder Seite. Was denkst du?
  • Welche version von PHP verwenden Sie?
  • Ich bin mit 5.3.2
InformationsquelleAutor gwendall | 2011-05-14
Schreibe einen Kommentar