Multilinguales CMS...

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

  • Multilinguales CMS...

    Hallo Leute,
    also..mein, vielmehr unser, Problem ist...

    Wir beginnen gerade ein CMS zu entwickeln, sind uns aber nicht schlüssig darüber, wie man eine Sprachliche Skalierbarkeit, also, dass man beliebig erweitern kann auf englisch, spanisch etc...

    hatte bisher die ordner-möglichkeit, die möglichkeit, für jede sprache ihre eigene datenbank zu erstellen und darin alles zu speichern, allerdings hat man in beiden Möglichkeiten das Problem, dass ein Riesenhaufen Daten, doppelt und dreifach gespeichert werden...

    selbiges gilt für ordner...

    Die Rahmenbedingung ist, dass sämtliche Übersetzungen "einfach" über ein Formular getätigt werden können und nicht der !Übersetzer! im Code rumpfuschen muss...

    Zerbrechen uns seit wochen den Kopf darüber, kommen aber zu keinem Ergebnis...vllt hat ja hier jemand einen heissen Tipp parat...

    Lg,
    Dennis...

    Danke bereits im Vorraus, dafür dass Ihr eure Hirnzellen über meine Probleme zermatert..
    Musik beflügelt unseren Geist

  • #2
    Multilanguage hat nichts mit dem Code zu tun, warum also im Code rumfutschen und Ordner für verschiedenen Sprachen erzeugen
    Den Inhalt in verschiedenen Sprachen bringst du geeignet in der DB unter. Erstelle geeignete Klassen für das Auslesen aus der DB, und du übergibst einfach dem Objekt die ausgewählte Sprache, dann solltest du auch den richtigen Inhalt bekommen. Abgesehen von Fehlermeldungen darf bei multilinguale Seite nichts Statisches im Code untergebracht werden, alles muss von der DB geholt werden.

    Kommentar


    • #3
      ...alles muss von der DB geholt werden.
      Um das etwas performanter zu gestallten kann man für die Laufzeit die Variablen nach Sprachen getrennt in eigene Dateien (Arrays mit Original => Übersetzung) überführen und diese dann je nach ausgewählter Sprache inkludieren.
      Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

      Kommentar


      • #4
        Dann wären wir aber schon beim Cachen. Das ist nichts sprachen-spezifisches. Sondern betrifft jede art von Content.

        Kommentar


        • #5
          das benutzen der mulitbyte funktionen von php nicht vergessen, von wegen validierung der user eingaben und so!

          Kommentar


          • #6
            In meinem CMS habe ich es so gelöst, dass jedes Modul einen languages Ordner hat in dem die Files liegen z.B. german.php, english.php

            Default ist german.php, d.h. wenn mal ein Modul nicht die gewünschte Sprache mitliefert, german.php ist immer da.

            Ein weiterer Vorteil ist, dass ich nicht alle Language Vars habe, sondern immer nur die des Moduls habe + die Globalen.
            Zuletzt geändert von Benny-one; 31.07.2007, 09:38.
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              hab mir mal folgende lösung ausgedacht:

              Verbindungsfehler und ausgaben, die NICHT zwingend in eine Datenbank reingehören oder auch können, wie etwaige Fehlermeldungen usw. werden in einer language.ini.php Datei abgelegt, also für jede Sprache ihre eigene Datei, diese kann man bequem per Formular anpassen, sämtliche Inhalte werden in die DB geschrieben und mit einer language-ID versehen, also DE für Deutschland, GB für English(British) US usw...

              so fallen zwar recht viele Daten in der DB an, da diese aber nach Ablauf in ein Archiv geschoben werden, geht das noch...
              Musik beflügelt unseren Geist

              Kommentar


              • #8
                Ich persönlich hab das mit einem Cookie geregelt. Dort habe ich die Sprache gespeichert. Anfangs steht eine Funktion die Templates und Sprachvariabeln einlädt... mag zwar nich die beste Lösung sein hab ich aber so gemacht :P

                Kommentar

                Lädt...
                X