Mehrsprachige Webseite

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

  • Mehrsprachige Webseite

    Hallo ich hab mich gerade erst hier angemeldet und auch schon eine Frage. Ich habe eine Webseite die ich gerne Mehrsprachig anbieten würde, die Standartsprache ist Portuguiesisch. Jetzt habe ich gehürt das ich am besten eine xml datei anlege in der sich die Übersetzung befindet. Das hab ich mal versucht, es sieht so aus: array (
    "Serviços terminados"=>"Ageschlossene Aufträge",
    "Título / Local de realização"=>"Titel / Ausführungsort",
    "Preço / Data=>"Preis / Einstelldatum",
    "Acção">"Aktion", usw.
    Leider weiß ich ab hier nicht weiter also wie ich einen funktionierenden array erstelle und das ganze dann einbetten kann. Ich weiß wohl das es die funktion lang::t gibt aber damit kann ich nix anfangen. Wie ihr seht halten sich meine Kenntnisse in Grenzen. Wäre toll wenn mir jemand helfen könnte.
    Gruß
    Uwe
    Zuletzt geändert von faztu1; 02.10.2011, 16:08.

  • #2
    Zitat von faztu1 Beitrag anzeigen
    Hallo ich hab mich gerade erst hier angemeldet und auch schon eine Frage. Ich habe eine Webseite die ich gerne Mehrsprachig anbieten würde, die Standartsprache ist Portuguiesisch. Jetzt habe ich gehürt das ich am besten eine xml datei anlege in der sich die Übersetzung befindet. Das hab ich mal versucht, es sieht so aus: array (
    "Serviços terminados"=>"Ageschlossene Aufträge",
    "Título / Local de realização"=>"Titel / Ausführungsort",
    "Preço / Data=>"Preis / Einstelldatum",
    "Acção">"Aktion", usw.
    Leider weiß ich ab hier nicht weiter also wie ich einen funktionierenden array erstelle und das ganze dann einbetten kann. Ich weiß wohl das es die funktion lang::t gibt aber damit kann ich nix anfangen. Wie ihr seht halten sich meine Kenntnisse in Grenzen. Wäre toll wenn mir jemand helfen könnte.
    Gruß
    Uwe
    Das was du da hast, ist kein XML-Format. Mehrsprachigkeit lässt sich über viele Wege erzielen. Stinknormale Textdateien, Arrays (so wie dein Ansatz), Datenbanken und was weiß ich nicht. Warum ausgerechnet XML dafür am Besten soll, ist mir schleiherhaft.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Okay, was wäre denn der beste und einfachste weg den ich gehen könnte? Die Seite sollte als Standart portuguiesisch sein dann umschaltbar auf de und en. Die zu übersetzden Texte belaufen sich auf ca. 240 zeilen.
      Gruß
      Uwe

      Kommentar


      • #4
        Hallo,

        ich würde dir raten, ein CMS zu verwenden, wenn du nicht so viel Erfahrung hast.

        Die Empfehlung mit XML ist gar nicht so blöd, wie Kropff meint, da es sicherlich nicht nur um Überschriften und Labels geht, sondern um ganze Texte. Daher könnte man den Seiteninhalt incl. Markup in einer bestimmten Sprache in einer XML-Datei ablegen und in einer anderen Datei dasselbe für eine andere Sprache machen. Die Seite könnte man dann mit XSLT zusammenbauen. Das ist zwar gerade für Einsteiger sicher nicht die leichteste Methode, aber trotzdem keine schlechte, zumal viele CMSe ihre Inhalte ähnlich strukturieren.

        Gruß,

        Amica
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Hallo, das ding ist nur das die Seite bereits existiert und nicht mit cms aufgebaut wurde.
          Wie funktioniert denn das mit einer xml oder Datenbanktabelle.
          Gruß
          Uwe

          Kommentar


          • #6
            Das mit der Datenbanklösung eignet sich eher dazu, User Interfaces zu internationalisieren, also einzelne Wörter oder Wortgruppen (z. B. Buttonbeschriftungen, Überschriften, …). Einen ganz groben Eindruck davon, wie man sowas relational aufbauen kann, könnte dir dieser uralte Beitrag von mir geben: http://www.php-resource.de/forum/sql...tml#post625284

            Mit XML-Dateien lassen sich komplexere Inhalte mit einer internen Struktur besser abbilden. Dabei muss man nur beachten, dass alles, was mit Layout zu tun hat, dort keinesfalls auch nur ansatzweise auftauchen darf (sollte man sowieso vermeiden). Außerdem sollte man sich ausschließlich auf Inhalte konzentrieren und Sachen wie die Navigation oder ähnliches auslagern. Kurz gesagt, den sprachabhängigen Payload packst du in die XML-Datei, alles andere wird dann anderweitig eingebunden. Notwendige Voraussetzung für diesen ganzen XML-Ansatz sind erstens umfassende XML-Kenntnisse, also auch Namespaces und sowas und außerdem gute Kenntnisse in XSLT.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Na ich seh schon das es nicht so einfach ist und denke da lass ich die Finger von. Trotzdem danke für die Antworten
              Gruß
              Uwe

              Kommentar


              • #8
                Zitat von faztu1 Beitrag anzeigen
                Na ich seh schon das es nicht so einfach ist und denke da lass ich die Finger von. Trotzdem danke für die Antworten
                Gruß
                Uwe
                Lass dich von AmicaNoctis nicht abschrecken. Sie mag halt XML und XSLT (ich übrigens auch). Speicher die unterschiedlichen Daten in einer Datenbank ab und vergib einen eindeutigen Hinweis auf die verwendete Sprache. Dann könnte ein Query zum Beispiel so aussehen:
                Code:
                SELECT * FROM kontaktformular WHERE sprache = 'DE';
                # Oder
                SELECT * FROM kontaktformular WHERE sprache = 'PT';
                Für so was muss man nicht unbedingt XML und XSLT einsetzen.

                Peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Naja ne Datenbank würde ich dafür nun nicht einsetzen, warum diese damit belasten?

                  XML ist schon ok, oder jede andere Variante, jenachdem was dir liegt.

                  Ein Problem könnte nur werden, oder besser gesagt sollte mit bedacht werden, wenn dein Anwendung Modular aufgebaut ist, dass eventuell nicht jedes Modul alle Sprachen zur Verfügung stellt, oder wenn die Anwendung mal ausgebaut wird weil deine Kenntnisse sich erheblich ausweiten, dass nicht jeder Controller oder nicht jede Action alle Sprachen anbieten.

                  Das heist du solltest schon im Vorfeld dir darüber Gedanken machen das ziemlich flexibel einsetzbar zu machen, eventuell an Konfigurationsvererbung denken etc. Aber das denke ich führt grad viel zu weit.

                  XML ist jedenfalls genau richtig für dein Vorhaben.
                  Aber was wichtiger für mich als Info wäre wie hast du denn vor das zu regeln, wie wird deine Seite aufgabaut? Denn danach muss man sich dann richten wo nun die ganze Mehrsprachigkeit zum greifen kommen soll.
                  Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                  http://www.lit-web.de

                  Kommentar


                  • #10
                    naja, mal langsam. Wieso bist du der Meinung, dass eine solche Abfrage* die Datenbank belasten sollte? Ist es nicht viel aufwändiger und umständlicher, wenn eine XML-Datei bei jedem Seitenaufruf geöffnet und geparst werden muss, nur um einen einzelnen oder wenige Befehl(e) auszulesen?

                    (* mir ist übrigens nicht ganz klar, warum die Tabelle "kontaktformular" heißten sollte, bin aber sicher das ist nur ein Beipiel)

                    Kommentar


                    • #11
                      Zitat von TobiaZ Beitrag anzeigen
                      naja, mal langsam. Wieso bist du der Meinung, dass eine solche Abfrage* die Datenbank belasten sollte? Ist es nicht viel aufwändiger und umständlicher, wenn eine XML-Datei bei jedem Seitenaufruf geöffnet und geparst werden muss, nur um einen einzelnen oder wenige Befehl(e) auszulesen?

                      (* mir ist übrigens nicht ganz klar, warum die Tabelle "kontaktformular" heißten sollte, bin aber sicher das ist nur ein Beipiel)
                      Hallo Tobiaz.

                      Das kann ich mal ganz simpel versuchen zu beantworten. Eine Mehrsprachigkeit für die gesamte Website auf DB zu legen ist einfach viel zu unflexibel.
                      Wenn das System mal nicht mehr ner DB arbeiten soll sondern auf Basis von XML als Speichermedium dann hat man den Salat, dann fängt man die ganze Sache an neu zu schreiben.
                      Ehere sollte man da vieleicht ne Adaptermöglichkeit finden oder so, so das man eben das ganze auch flexibel und schnell austauschen kann wenn sich das Speichermedium mal komplett ändert.
                      Mit Datenbank belasten ahbe ich mich falsch ausgedrückt, bitte das zu entschuldigen.
                      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                      http://www.lit-web.de

                      Kommentar

                      Lädt...
                      X