Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrsprachige Website?

Einklappen

Neue Werbung 2019

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

  • Mehrsprachige Website?

    Hallo Leute!

    Ich bin in Sachen PHP ziemlich eingerostet und fange dennoch an eine neue Homepage zu erstellen.
    Diese soll es in 3 Sprachen geben, allerdings bin ich völlig planlos wie man so etwas realisiert.
    Ich denke dabei an ein Drop-Down-Menü oder kleine Flaggensymbole..so wie es jeder kennt.
    Ein wenig Beispiel-Code ist auch erwünscht, ich würde nur gerne wieder auf den richtigen Trichter kommen bevor ich alles neu schreiben muss.
    Vielen Dank an euch!

  • #2
    Das Thema wurde im Internet schon vielfach durchgekaut und die Lösungen dazu lassen sich innerhalb von Sekunden ergoogeln.

    Über Routing findest du heraus was für eine Sprache gewünscht ist, womit du anschließend die verschiedenen Inhalte aus der Datenbank laden kannst.
    "Software is like Sex, it's best if it's free." - Linus Torvalds

    Kommentar


    • #3
      Das war nicht hilfreich

      Kommentar


      • #4
        Was möchtest du denn genau wissen? Hast du ein konkretes Problem? Was sind deine bisherigen Ansätze? Gibt es schon Ergebnisse, wenn ja, wie sehen diese aus?

        Für die Herangehensweise, hier das erste Suchergebnis von Google unter dem Stichwort "multi language php":
        https://stackoverflow.com/questions/...nguage-website

        Hier kannst du dir anschauen, wie das ein weit verbreitetes Framework gelöst hat: http://symfony.com/doc/current/translation.html
        Falls du dich dazu entschließen möchtest auf eine Third-Party Komponente auszuweichen, hier die o.g. Komponente: https://symfony.com/doc/current/comp...anslation.html
        "Software is like Sex, it's best if it's free." - Linus Torvalds

        Kommentar


        • #5
          Das waren doch schon hilfreiche Informationen oder nicht?!

          Wenn man den User bei der Symfony-Variante die Locale über ein Selectfeld selbst aussuchen lassen will und dann jeden Response "automatisch" in diese Locale übersetzt ausliefern möchte, dann funktioniert es so, dass man zwei Logikklassen braucht:

          Eine die das abgesendete Formular verarbeitet und die ausgesuchte Locale irgendwo speichert (DB, Session oder Cookies).

          Und dann einen EventListener, der onKernelRequest triggert und dem das GetResponseEvent übergeben wird. Dieser EventListener muss in der Reihenfolge der Symfony-EventListener nach dem eigentlichen LocaleListener triggern - durch manuelles Setzen der Locale kann man hier beeinflussen, nach welcher Sprache das Framework zur Übersetzung suchen soll, findet es diese nicht wird schlichtweg die Default-Locale genommen.

          Da man über das übergebene GetResponseEvent sowieso Zugriff auf das Request-Objekt hat, speichere ich die Locale immer als Cookie. Dies hat den Vorteil, dass man in dem EventListener nicht auch noch großartig mit per D.I. zu übergebenden DB-Klassen herumkaspern muss.

          Kommentar


          • #6
            Zitat von wario Beitrag anzeigen
            Das waren doch schon hilfreiche Informationen oder nicht?!

            Wenn man den User bei der Symfony-Variante die Locale über ein Selectfeld selbst aussuchen lassen will und dann jeden Response "automatisch" in diese Locale übersetzt ausliefern möchte, dann funktioniert es so, dass man zwei Logikklassen braucht:

            Eine die das abgesendete Formular verarbeitet und die ausgesuchte Locale irgendwo speichert (DB, Session oder Cookies).

            Und dann einen EventListener, der onKernelRequest triggert und dem das GetResponseEvent übergeben wird. Dieser EventListener muss in der Reihenfolge der Symfony-EventListener nach dem eigentlichen LocaleListener triggern - durch manuelles Setzen der Locale kann man hier beeinflussen, nach welcher Sprache das Framework zur Übersetzung suchen soll, findet es diese nicht wird schlichtweg die Default-Locale genommen.

            Da man über das übergebene GetResponseEvent sowieso Zugriff auf das Request-Objekt hat, speichere ich die Locale immer als Cookie. Dies hat den Vorteil, dass man in dem EventListener nicht auch noch großartig mit per D.I. zu übergebenden DB-Klassen herumkaspern muss.
            Und hier der Code dazu: https://symfony.com/doc/current/sess...y_session.html
            Vermutlich einfacher verständlich.
            "Software is like Sex, it's best if it's free." - Linus Torvalds

            Kommentar


            • #7
              Zitat von Sysmatic Beitrag anzeigen
              Das war nicht hilfreich
              Sorry, das ist dann aber dein Problem. Dann schlag die Begriffe nach und mach dich schlau. Wenn du es gemacht haben willst, haben wir hier auch eine Scriptbörse, kann den Beitrag auch gerne dorthin verschieben, kurze Info reicht.

              MOD: Verschoben von PHP-Fortgeschritten
              The string "()()" is not palindrom but the String "())(" is.

              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                Hier mal ein Youtube Video. Habe es selber nicht angeschaut. Könnte aber für den TE passen. https://www.youtube.com/watch?v=tb2HpNlqmaY
                [B]Es ist schon alles gesagt. Nur noch nicht von allen.[/B]

                Kommentar

                Lädt...
                X