Hmm, da geht es um Twig und die Verwendung der Funktion
lang()
. Mir ist gerade nicht ganz klar, worauf du abzielst.
Unabhängig davon, mal einen
fetten Dank an dich fürs mitgrübeln!
Ab 3.2 scheint es, wie du jetzt dargelegt hast, wohl so zu sein, das man das Language Array nicht mehr direkt manipulieren darf. Soweit so gut. Dann aber hätten die Devs gleichzeitig auch eine entsprechende Methode einführen müssen, mit der das Array wieder auf ordentlichem Weg manipuliert werden kann. Man kann das Array nicht mehr auf normalem Weg ändern, jedenfalls nicht fehlerfrei, soviel steht jetzt mal fest würde ich sagen. Es sei denn, wir beide übersehen etwas.
Es gäbe aber noch eine andere Möglichkeit, die Idee hatte ich gestern Abend: was man jederzeit darf und was auch zu jedem Zeitpunkt funktioniert, ist das Laden einer Sprachdatei. Und genau damit experimentiere ich gerade. Das heisst, mit etwas zusätzlichem Code in der Sprachdatei - das geht leider nicht anders - lese ich zuerst die gewünschte Variable aus, hänge zusätzlichen Text dran und weise es exakt der gleichen Sprachvariable wieder zu. Denn die Sprachdateien arbeiten mit assoziativen Arrays und genau das ist die Lösung! Das heisst eine Sprachvariable besteht aus einem Schlüssel und einem Wert. Wenn nun bei einem assoziativen Array ein Schlüssel bereits vorhanden ist, dann wird schlicht der zugehörige und bereits vorhandene Wert durch den neuen ersetzt. Mission erfolgreich, Aufgabe gelöst.
Die einzige "Schwierigkeit" ist nur, jeweils ein passendes Event zu finden das
nach dem Laden der Sprachdatei mit der gewünschten Variable liegt, aber noch
vor dem Ereignis, bei dem man die manipulierte Variable braucht. Und das ist leider nicht immer möglich, weil es schlicht an Events fehlt. Da muss man also weiterhin bisschen suchen und testen. Eine offizielle Methode für das Language Array würde solche "Basteleien" überflüssig machen. Aber, ist halt nicht.
edit: für dich zur Info, so sähe das Live aus.
[ externes Bild ]