Sprachunterstützung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Sprachunterstützung

    Guten Tag,
    ich würde gerne in meine Communitywebsite eine Sprachunterstützung einbauen, Englisch und Deutsch, um genauer zu sein. Jetzt ist das "Problem", dass bisher alles deutsch ist und einfach so in HTML drinnensteht. Jetzt habe ich mir Gedanken gemacht, wie man eine solche Sprachunterstützung am besten einbaut und bin nicht wirklich zu einer guten Lösung gekommen. Hier mal meine zwei Ideen:

    - So belassen und am Schluss via ob_get_clean() den Buffer auslesen und da via str_replace und arrays die deutschen Begriffe übersetzten - > Problem: die Wörter werden auf der gesamten Seite ersetzt, wenn ich also "Benutzer" mit "User" ersetze, wird die URL "http://www.example.org/benutzer/Testuser-123.html" unbrauchbar.
    - Code überarbeiten und Platzhalter einbauen (z.b. {language->user}) und dann selber Vorgang wie oben mit Buffer auslesen und ersetzen.

    Zwei verschiedene Seiten machen, etwa via Sudomain, kommt nicht in Frage, da an der Seite regelmäßig aktualisiert wird und man das dann immer zweifach aktualisieren müsste, außerdem sind weitere Sprachen in Planung.

    Über Vorschläge würde ich mich sehr freuen! ;)
  • Das Platzhalterkonzept geht schon etwas in die Richtung Templatesystem, bietet dir aber z.B. nicht die Möglichkeit innerhalb der Übersetzung wieder auf Variablen zuzugreifen.

    Wenn du schon solche konzeptionelle Änderungen machst, glaube ich, dass sich der Umstieg auf ein Templatesystem wie Smarty lohnen würde.
    Der Aufwand wäre vermutlich nur minimal größer.
  • Hi,

    ich würde ma ein bsichen nach i18n im Internet suchen, da gibt es viele gute Ansätze so etwas zu lösen.

    Ich habe grade auch gesehen, dass es für Smarty ein Plugin gibt welches den Gettext Adapter unterstützt.
    smarty.incutio.com/?page=SmartyGettext

    Da gibts wie poEdit auch gute kostenlose Tools um die Sprachdateien für gettext zu erstellen.