Sprachflexibilität

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sprachflexibilität

    Hallo Leute,
    ich habe ein ziehmlich umfangreiches Boardsystem geschrieben.
    Allerdings habe ich im Code und in den Templates deutschen Text stehen.
    Um das ganze fexibel zu machen überlege ich mir gerade wie man da am
    klügsten vorgehen kann. So wie ich das sehe gibts zwei Möglichkeiten:
    - pro Sprache eine PHP Datei mit den entsprechenden Texten in Arrays...
    die entsprechende Datei binde ich dann je nach Einstellung ein
    - viele Systeme die ich betrachtet habe suchen sich die entsprechenden Texte
    mit Hilfe von Datenbankabfragen...wie man das genau machen kann muss ich mir
    noch überlegen...

    was sind die Vor-/Nachteile dieser Varianten? Gibt es weitere Möglichkeiten?
    Hat von euch jemand Erfahrung damit bzw. kann mir Tipps geben?

    bye Micha

  • #2
    *** ich schiebe erstmal nach BS ***

    Kommentar


    • #3
      Ich habe eine gesamte, internationale Community auf der Basis von Sprachdateien geschrieben. Schien mir persönlich am sinnvollsten.

      Wenn sich die Inhalte oft ändern, ist eine Datenbank-Lösung vielleicht sinnvoller. So kann man zumindest einfacher Änderungen anstellen und es über ein kleines CMS o.ä. bewerkstelligen.

      Wenn es aber fest definierte Texte sind, wüsste ich nicht, wozu man das DB-basiert machen sollte.

      Der Nachteil bei einer DB-basierten Lösung liegt meiner Ansicht nach in der fehlenden Flexibilität. Kommt ein neues Textstückchen irgendwo hinzu, müssen DB und alle betroffenen Querys angepasst werden. Desweiteren hatte ich Probleme beim Definieren von Texten, die im Nachhinein mit sprintf formatiert werden müssen. Das Hin- und Herescapen war nervig.

      Mit den Sprachdateien bin ich sehr zufrieden. Ich habe mehrere Sprachdateien für jede Sprache, damit nicht jedesmal eine 2 MB-Datei eingelesen werden muss und ewig viele Variablen im Speicher stehen, obwohl nur 5% davon benötigt werden.

      Also z.B. eine Sprachdatei für die Galerie, eine für die Foren, eine für die Börse, eine für Gewinnspiele usw. Das schafft auch einen besseren Überblick. Und dann noch eine allgemeine Sprachdatei mit Texten, die fast überall verwendet werden. Z.b. "er, Er, Ihn, männlich, Sie, sie, Alter, weiblich, Jahr, die Monatsnamen". usw.

      Der weitere Vorteil liegt darin, dass man beim Übersetzen dem Übersetzer einfach nur die entsprechede Sprachdatei schickt und er sie dann ganz einfach editieren kann.

      Bei uns gibt es aber auch DB-basierte Texte. Das sind hauptsächlich News, Changelog, Börsenmeldungen und E-Mail-Texte (z.B. Passwort zusenden, Anmeldebestätigung etc.) Diese Texte ändern sich zwar regelmäßig oder dynamisch, die Struktur bleibt jedoch immer gleich. Wird über ein Pseudo-CMS im Verwaltungsbereich editiert.

      Was nun im Endeffekt besser ist, hängt wohl ganz vom Umfang und Struktur des Projektes ab.

      DasD

      Kommentar


      • #4
        Text in DB
        Jeder konnte ohne weiteres eine neue Sprache hinzufügen, also man konnte sich einen "Übersetzer" suchen der das ganze über einfache Formulare gemacht hat. Dann konnte direkt angezeigt werden welche Texte noch nicht übersetzt worden sind falls im nachhinein neue dazugekommen sind.
        (das kann man sicherlich auch machen wenn man die Sprachen in Textdateien hat, nur die Verwaltung erschien mir und vorallem den Kunden so oft einfacher)

        Cachen
        Da die Templates eh zum Teil im Cache landen, werden könnte es halt ungefähr so aussehen -> /tpl_cache/DE/main.ctpl

        Ich hatte ganz zufriedenstellende Ergebnisse auf diese Art.
        [Test] MySQL cli Emulator

        Kommentar

        Lädt...
        X