Ankündigung

Einklappen
Keine Ankündigung bisher.

laravel 5.2 Übersetzungen

Einklappen

Neue Werbung 2019

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

  • laravel 5.2 Übersetzungen

    Grüß Euch,

    Für statischen Text verwende ich laravel/gettext.

    Aber was ist mit dynamischen Text? In den Tabellen habe ich alle Namen auf englisch. Nun soll aber der eingeloggte
    User alles in der von ihm gewählten Sprache angezeigt bekommen. Z.B. Länder, Sprachen, Feiertage.

    Ich dachte ich mache mal eine "Translation table". In der gibt es folgende Spalten:
    name (name des Landes auf englisch)
    de (Übersetzung deutsch)
    fr (Übersetzung französisch)
    usw.

    Oder soll ich die Sprachen in die Tabellen integrieren?

    Es soll nicht nur die Anzeige in der jeweiligen Sprache erfolgen. Der User soll auch in seiner Sprache
    danach suchen können. Z.B. dem Land auf französisch.


    Ich komme da einfach nicht weiter. Irgendwie habe ich da einen Knopf im Hirn.

    Wäre schön wenn mir dazu jemand Gedankenanstöße geben könnte.

    Danke,
    Reinhard

  • #2
    Hallo Reinhard,

    ich arbeite zwar nur mit dem Standard Laravel Translation Tool, aber Unterschiede wird es da im großen nicht geben.

    Vorweg die Frage, was sind bei dir dynamische Texte? Werden diese per Ajax nachgeladen oder sind es von Usern geschriebene Texte?


    Nun soll aber der eingeloggte User alles in der von ihm gewählten Sprache angezeigt bekommen. Z.B. Länder, Sprachen, Feiertage
    Bei diesem Beispiel hast du zwei Optionen
    - Zum einen kannst du in der jeweiligen Tabelle eine neue Spalte für eine weitere Sprache einfügen. Das wäre sinnvoll wenn sich deine Liste stetig verändert oder erweitert.

    - Andernfalls, wenn sich deine Daten selten ändern, solltest du auch hier wieder auf Übersetzungsdateien zurückgreifen welche du auch bei deinen Statischen Texten verwendest.

    Nicht zu empfehlen ist es, Übersetzungen an mehreren Orten zu hinterlegen. Dadurch wird der Wartungsaufwand gesteigert wenn du immer erst die richtige Quelle suchen musst.

    Kommentar


    • #3
      Zitat von Nagazi Beitrag anzeigen
      H- Zum einen kannst du in der jeweiligen Tabelle eine neue Spalte für eine weitere Sprache einfügen. Das wäre sinnvoll wenn sich deine Liste stetig verändert oder erweitert.
      Nein, das ist Quatsch. Pro Sprache sollte ein zusätzlicher Datensatz geschrieben werden. Ansonsten landet man irgendwann bei einer dynamischen Tabellenstruktur und das endet in Chaos.

      Kommentar


      • #4
        Zitat von Nagazi Beitrag anzeigen
        Hallo Reinhard,

        ich arbeite zwar nur mit dem Standard Laravel Translation Tool, aber Unterschiede wird es da im großen nicht geben.

        Vorweg die Frage, was sind bei dir dynamische Texte? Werden diese per Ajax nachgeladen oder sind es von Usern geschriebene Texte?
        Dynamische Texte sind für mich alle die aus einer (mysql) Tabelle kommen. Ich sollte da wohl eher "dynamische Inhalte" sagen.

        Das mit dem Standard Laravel Translation Tool ist ja ganz schön, Aber: wenn es keine Translation für einen Text gibt dann kommt so etwas wie "messages.Austria" anstatt nur Austria in der Anzeige. Das stört mich. Ich hätte gerne das dann der original Text angezeigt wird. Also nur Austria. Außerdem, wenn zwar der key aber nicht der Wert vorhanden ist wird nichts angezeigt.

        Kommentar


        • #5
          Ich habe nun eine eigene Tabelle für die dynamischen Texte erstellt. Die ich mit der Methode translate($name,$language) aufrufe.

          Kommentar

          Lädt...
          X