Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrere Sprachen in einem Projekt - aber wie?

Einklappen

Neue Werbung 2019

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

  • #31
    warum denn so kompliziert. Leg dir einfach ne htaccess datei an und lies aus welche sprache der browser hat, dann leite auf die entsprechende seite um mit redirect.

    Kommentar


    • #32
      Zitat von progger77 Beitrag anzeigen
      warum denn so kompliziert. Leg dir einfach ne htaccess datei an und lies aus welche sprache der browser hat, dann leite auf die entsprechende seite um mit redirect.
      Autodetection ist nur eine Quelle der Zielsprache und ich würde sie nicht in einem dem Script vorangehenden Prozess auslagern. Als pauschales Beispiel könnte hier dann der User sein, der dauerhaft eingeloggt ist, die Haupt-Domain betritt, vom .htaccess an /de/ weitergeleitet wird, dort dann von der Anwendung auf seine Anwendungsinterne Sprache /en/ umgeleitet wird, die erste Umleitung kann man sich in diesem Fall sparen ( und somit einen Request ).

      Im Prinzip würde ich hier auf "nutze Frameworks die Lokalisierung unterstützen" hinweisen um ihm zumindest einen generellen Ansatz zu liefern. Ein einfacher Einstieg ist hier mit bspw. Silex ( empfehl ich wohl öfters, hm ? ), da dort die Komponenten doch recht überschaubar sind und die Lokalisierung recht einfach über entsprechend konzipierte Routes zu bewerkstelligen sind.
      [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

      Kommentar


      • #33
        Ergänzend ...

        Zitat von progger77 Beitrag anzeigen
        warum denn so kompliziert. Leg dir einfach ne htaccess datei an und lies aus welche sprache der browser hat, dann leite auf die entsprechende seite um mit redirect.
        Das gibt Probleme, wenn der User nicht weiß, wie man die (richtige) bevorzugte Sprache im Client einstellt oder es gar nichts einzustellen gibt.
        Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

        Kommentar


        • #34
          Richtig. Oder einfach an einem fremden Rechner sitzt. Da wäre es doch trotzdem nett, wenn er seine Sprache einstellen könnte.
          [COLOR="#F5F5FF"]--[/COLOR]
          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
          [COLOR="#F5F5FF"]
          --[/COLOR]

          Kommentar


          • #35
            Zitat von nikosch Beitrag anzeigen
            Unterscheide in Deinem System alle anforderbaren Seiten in verschiedene Typen.
            Verwalte sprachabhängige Bausteine nach Kategorien gruppiert in der Datenbank (z.B. Kategorie Kontaktformular, Kategorie Menüsteuerung), nur so kleinteilig wie nötig.
            Jeder angeforderte Typ kennt alle Kategorien, die er benötigt (fest verdrahtet, ähnlich wie das Template) und fordert mit einer DB-Abfrage alle nötigen Kategorien zur altuellen Sprache an.
            Zitat von nikosch
            Für die "Übersetzung" wird von der aufgerufenen Page (welche dann Inhalte, Templates anfordert) der aktuelle Kontext bestimmt/gesetzt und auf dieser Basis ein I18n-Objekt zusammengestellt (DB oder Cache),
            Im zweiten Zitat ist mir nicht klar, was du mit dem Begriff "Kontext" meinst.
            Meinst du damit, wie im ersten Zitat beschrieben, die zur angeforderten Seite benötigten Sprachkategorien ermitteln und anhand dessen die Übersetzungen laden?

            Kommentar


            • #36
              Ja.
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #37
                Ah, ok.

                Und wenn du dich dann z.B. in der Formularverarbeitung befindest rufst du dann meinetwegen
                PHP-Code:
                $translator->translate($message'formCategory'); 
                auf, um die Formularfehlermeldung zu übersetzen.

                Also "category" ist bei dir "textdomain" gleichzusetzen, wie ich es von Zend und glaube auch von Symfony kenne.

                Kommentar

                Lädt...
                X