Roger: mehrsprachige seite - wie?

hallo!

ich möchte eine mehrsprachige seite bauen. die jeweilige sprache soll über einen button ausgewählt werden und per session id gespeichert werden.

soweit alles kein problem.

ich weiss nur noch nicht, wie ich die sprachen unterbringe.
einzelne buttonbeschriftungen lassen sich leicht in array verfrachten. die dann extra in eine datei ausgelgert und separat angesprochen scheint schon eine ansprechende lösung zu sein.

was ist aber mit dem content?! schliesslich befindet sich einiger text auf den seiten ;) lass ich diesen auch in ein array schreiben, oder ist es vielleicht besser den in eine datenbank (mysql) zu verfrachten? wenn datenbank, wie gestalte ich dann diese? meine überlegungen diesbezüglich waren ungefähr so:
4 spalten:
id | de | en | fr
und den jeweiligen inhalt spreche ich dann einfach mit der id + sprache an. das problem was ich hierbei sehe: nach 20 einträgen überblicke ich da nix mehr...

wenn ich dann mit einer db arbeite, dann kann ich ja gleich alles reinhauen. was meint ihr?

gruß.
roger.

  1. Hi,

    am besten verschiedene Domains.
    Für jede Domain eine eigene Vertriebsgesellchasft aufmachen im jeweiligen Staat.
    Jede Vertriebsgesellschaft sollte die Europäischen Markenrechte über das volle Programm beantragen. Die übeschneiden sich dann zwar, aber genau das ist erwünscht.
    Jede Gesellschaft sollte eine differnenzierbare Gesellschafterzusammensetzung haben.

    Noch was?

    Tom

    1. Hi,

      was soll der dünnschiß!?

      gruß.
      roger.

      1. Hallo,

        was soll der dünnschiß!?

        Tickst Du auch richtig?

        Wer selbst nicht denken kann, sollte das Fragen besser auch unterlassen.

        Tom

        1. hast du dir evtl. mal die frage durchgelesen, bevor du mich hier anmachst?! deine antwort hat absolut keinen bezug dazu!

          gruß.
          roger.

          1. Hallo Roger,

            da muss ich aber energisch protestieren.

            Mit der "Anmacherei" hast DU angefangen.

            Auf meine wohlgemeinte Anregegung hin hast Du mich irgendwas mit "Durchfall" gefragt...

            Wenn Dich meine Gedanken (noch) nicht interessieren, kannst Du sie ja einfach ignorieren. Aber beschimpfen lasse ich mich von Dir nicht!

            Grüße

            Tom

            1. Hallo Roger und Tom,

              Ihr koennt euch jetzt wieder beruhigen. Ich bin sicher, du hast es in [pref:t=61987&m=349991] nicht beabsichtigt, aber mir kam das Psoting auch eher wie ein SCNR vor. Wieso sollte Roger eine neue Geschaeftsstelle aufmachen, wenn er nur seine Seite mehrsprachig halten will? Erklaer das doch mal naeher.

              Schoene Gruesse,
              David Schneider

              --
              Hat jemand meine Signatur gesehen?
              1. dito.

                gruß.
                roger.

  2. Hallo Roger,

    Da Du keine Sprache angegeben hast, gehe ich im Moment mal von PHP aus. Wenn Du nur keine Texte hast (Klicken Sie hier, abbrechen etc.), wenn es sich also hauptsaechlich um Formulare und solche Sachen handelt, kannst Du beispielsweise ini-files benutzen und diese mit parse_ini_file() auslesen. Bei grösseren Texten wirst du um eine DV nicht rumkommen. Ich mache das so, dass ich sowohl fuer die ini-Dateien als auch fuer die Felder der Tabelle die gaengigen Abkuerzungen en_GB, de_DE usw. verwende, bei Tabellen eine zusaetzliches ID-Feld. Die Texte speichere ich im Klartext und behandele Sie dann standardmäßig mit htmlentities(). Das Sprachkuerzel kann als Session, Cookie, Get oder Post uebergeben werden, deshalb schaut meine Funktion erst nach, ob es eine Sprachinformation gibt.

    Der Aufbau der Funktion, ich lass das mal unabhaengig von der Programmiersprache.

    function spracheinbindung(quelle, id)
    {
      schau_nach_ob_es_eine_sprachinfo_gibt;
      wenn_nicht_nimm_de_DE;
      wenn_quelle == db, mach_mir ne_query_mit_der_id;
      sonst_parse_das_passende_ini_file;
      pack_das_ergebnis_in_den_array_'lang';
      mache_ein_htmlentities_mit_allen_elemten_des_arrays;

    return lang
    }

    In der PHP-Datei rufe ich die Funktion auf und schreibe anstatt der Texte sowas wie $lang['mein_text'], bzw. $lang[42].

    Dieter

  3. Hallo,

    ich würde dir raten, den gesamten Inhalt im XML-Format zu speichern, dann könnte eine XML-Datei für einen Bericht in etwa wie folgt aussehen:
    bericht.xml

    <report>
    <content xml:lang="de">
    Kennst du das Land mit seinen alten Eichen? Das Land von ...
    </content>
    <content xml:lang="en">
    Do you know the country with its old oaks? The country of ...
    </content>
    </report>

    Mit Perl (oder PHP, ASP etc.) kannst du dann eine HTML-Datei generieren. Übrigens würde ich keine Sessions ersetzen, sondern alle Links so generieren, dass sie auf den Inhalt in der gleichen Sprache wie die Seite selbst verweisen.

    Mit freundlichen Grüßen
       Dimitri Rettig

    --
    Meistens gelangen die Menschen nur durch die Folgen der Unordnung zur Einführung der Ordnung, und Gesetzlosigkeit führt gewöhnlich erst zu Gesetzen.
      -- Friedrich Schiller