dedlfix: Sprachenkonzept

Beitrag lesen

Hi!

Wie geht man bei mehrsprachigen Seiten am besten mit großen Textpassagen vor?

Wenn es übersetzt werden soll, dann sollte das über den gewählten Weg gehen, sonst hat man x unterschiedliche Verfahren zu pflegen.

Bei solchen langen Texten gehe zumindest ich so vor, dass ich PHP ausmache ?> und in purem HTML weitermache, da es so viel übersichtliche ist, als z.B. in einem echo()  (Macht ihr das auch so?)

Es gibt die Heredoc- und Nowdoc-Syntax, die ähnliches leisten kann. Zudem kann man vielleicht auch über unterschiedliche Templates nachdenken. Unterschiedliche Templates bedeutet aber üblicherweise auch, dass man den HTML-Code zwischen den sprachspezifischen Texten mehrfach vorliegen hat, was wartungstechnisch sehr ungünstig ist. Also wäre eine solche Lösung schon deshalb nicht unbedingt zu bevorzugen. Große Textstücke sind vermutlich weniger reine Textwüsten sondern mit Markup durchzogen. Ich denke, der beste Kompromiss ist dann, eine eigene Syntax zu verwenden, die beim Abruf durch das Markup ausgetauscht wird. (Ein Cache kann helfen, dass das nicht jedes Mal passieren muss.)

Für die gettext Variante müsste man diese Texte ja auch in die Funktion packen.

Ja, die Funktion nimmt aber auch Variablen entgegen.

Könnte ich es mit gettext so machen, dass ich z.B. _("Beschreibung") schreibe und ich dann für jede Sprache in der PO Datei die richtige lange Beschreibung einfüge?

Der Sinn des Klartextes anstelle eines Textnamens ist, dass zum einen der Text zumindest in einer Sprache in voller Schönheit im Quelltext steht, man also nicht rätseln muss, welcher Text konkret sich hinter einem Platzhalter verbirgt. Zum anderen ist der dann auch die Fallback-Lösung für nicht übersetzte Texte.

Lo!