[2 Themen] Mehrsprachigkeit und sehr simpler Web-Editor

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

  • [2 Themen] Mehrsprachigkeit und sehr simpler Web-Editor

    Guten Tag zusammen,

    ich bin auf der Suche nach grundsätzlichen Ideen um für eine Webseite Mehrsprachigkeit und eine Funktionalität zum Editieren der Inhalte für Laien zur Verfügung zu stellen (kein wirkliches CMS).

    Mehrsprachigkeit (max. 5 Sprachen)
    Die Webseite soll mehrere Sprachen unterstützen. In einem hier referenzierten Tut wird vorgeschlagen, Konstanten zu definieren und entsprechend der Sprache die Ausdrücke in Dateien ausgelagert.
    • Ist dies auch aktuell noch der sinnvollste Ansatz hierfür (das Tut ist von 2003) oder haben gibt es bessere Ansaetze?
    • Macht es nicht mehr Sinn, die Textbausteine in der DB zu speichern? Ich gehe davon aus, dass es insgesamt 50 Webseiten mit insgesamt 15 A4 Seiten Inhalt geben wird. Pro Seite würde es schätzungsweise ~15 - 20 Konstante für den Text geben. Kann dies zu Performance-Problemen führen v.a. beim Einsatz einer DB?
    • In der DB würde ich die entsprechenden Konstanten mit einem Identifier für die Seite abspeichern. Dadurch frage ich diese pro Seite mit *nur* einer Abfrage ab (SELECT text_id, text_value WHERE page_id = 'index-php'). Ist das sinnig?


    Funktionalität zum Editieren
    Für o.g. Texte möchte ich eine Funktionalität zur Verfügung stellen, diese Texte in einem Editor zu verändern (analog diesem beim Verfassen von Texten für das Forum). Der Editor muss kein WYSIWYG-Editor sein, Tags sollte man aber dennoch eingegeben können.
    • Gibt es hier bereits (einfache) Editoren, die ich für meinen Zweck nutzen kann?
    • Nutze ich als Formatierungstags bereits HTML bzw. CSS Tags und speichere ich diese gleich in der DB ab oder parse ich diese vor der Ausgabe erst?
    • Wird dieser Text in der DB einfach in einem Feld mit den Datentyp Text abgespeichert oder gibt bei dem Umgang mit der DB hier noch etwas zu beachten?


    Vielen Dank für Hinweise & Tipps,
    schönen Abend!

    P.S. Ich möchte kein CMS verwenden, da ich keine neue Seite-Anlegen, Nutzerverwaltung u.ä. Funktionalitäten bereitstellen möchte.

  • #2
    Ne Menge Fragen.

    Also bezüglich Mehrsprachigkeit bin ich einen etwas unkonventuenellen Weg gegangen, da ich auf Datenbanken verzichten musste. Der Kunde wollte eine "mobile" Seite, ohne jegliche mySQL Anbindung oder ähnlichem (und treibt mich damit halb in den Wahnsinn). Grob gesehen, hab ich aber den Weg mit den Konstanten gewählt.

    Ich übergebe mittels $GET sozusagen ein Kürzel für die jeweilige Sprache, welches dann die passende Sprachseite einbaut.

    z.B. so http://www.domain.de/folder/index.php?lang=DE

    Zuersteinmal lege ich über if fest, wie der Pfad zum jeweiligen Sprachpacket ist:


    PHP-Code:
    if ($_GET["lang"] == "GB"){$language "./language/english/";}
    else{
    $language "./language/german/";} 
    Wird nun eine Seite aufgerufen, so wird über
    require($language."ordner/datei.php"); das jeweilige Sprachpacket eingebunden und füllt die Konstanten.

    Nur so als Beispiel. Allerdings würde ich bei mehr Sprachen wohl ehr deine andere Idee von Textbausteinen in der Datenbank benutzen. Dürfte um einiges weniger umständliche sein.

    Warum solle man das Ganze nicht mit nur einer Abfrage machen?
    Erst meckern, dann helfen!

    Kommentar


    • #3
      Also wir haben die Strings zwar zur einfacheren Übersetzung in der Datenbank, aber nach jeder Änderung muss man den Code neu generieren und die PHP-Skripten inkludieren nur fertige php-Dateien - d.h. der live-Betrieb ist unabhängig von der Datenbank.
      Was anderes hätten die 2 DB-Server früher nicht ab gekonnt
      Mittlerweile sieht das auch wieder anders aus, aber naja~

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Ich habe es bei mir so laufen, das ich die Texte in einer ini-Datei liegen habe, welche ein Objekt lädt und anschließend zur Verfügung stehen.
        Sowas wie:
        PHP-Code:
        $wordbook = new Wordbook$lang ); // bsp: "en", "de" oder so
        // ...
        $msg $wordbook->getMessage'irgendwas' ); 
        Ich bin diesen Weg gegangen, um mir die Freiheit zu lassen, später vielleicht alles wieder um modellieren zu können, beispielsweise Texte in die DB.
        Ein weiterer Vorteil der ini ist, finde ich, das diese in Sektionen unterteilt werden kann, ich also nur bestimmte Ausschnitte laden kann!

        Da das Parsen der ini je nach Länge doch etwas unperformant sein kann, packe ich das Wordbook-Objekt mit den Standardnachrichten (da habe ich eine Sektion in der ini für) in die Session!

        Kommentar


        • #5
          Danke für die Tipps.
          Ich gehe mal in mich und bastle etwas herum. Ich poste dann, wie ich es gemacht habe.

          Hat noch jemand bzgl. des Editors Rat?

          Bis dann!

          Kommentar


          • #6
            Hi,
            Für o.g. Texte möchte ich eine Funktionalität zur Verfügung stellen, diese Texte in einem Editor zu verändern (analog diesem beim Verfassen von Texten für das Forum). Der Editor muss kein WYSIWYG-Editor sein, Tags sollte man aber dennoch eingegeben können.
            Schau doch, wie's hier gemacht ist. Bei Christian Seiler gibt's eine Parserklasse für BBcodes.

            LG

            Kommentar

            Lädt...
            X