Fehler beim Erstellen/Bearbeiten eines Sprachoverrides?

  • Hallo zusammen,


    Wegen eines kleinen Übersetzungsfehlers im deutschen Sprachpaket - siehe hier - habe ich für unsere Site für die Sprachen "de-DE" (Deutschland) und "de-AT" (Österreich) je zwei Overrides angelegt.


    Eines der beiden soll demnach wie folgt sein:


    Code
    JGLOBAL_PRINT_TITLE="Beitrag ausdrucken < %s >"


    Joomla! speichert das Override offenbar falsch ab, jedenfalls bei mir. Ich bekomme stattdessen:


    Code
    JGLOBAL_PRINT_TITLE="Beitrag ausdrucken "


    Ist das nur bei mir so oder ist das ein Fehler in Joomla!? Nachdem ich die Datei mit den Overrides per Hand überarbeitet habe, wird der String in Joomla! auch richtig ausgegeben.


    Liebe Grüße, Gerry77

  • Man muss eintragen:

    Code
    Beitrag ausdrucken &lt; %s &gt;

    Also HTML-Entities-Kodierung. Das ist ein grundlegender "Streitpunkt" (und war auch schon Thema im Joomla-Issue-Tracker). Der Konflikt zwischen alleinstehenden Zeichen < und > sowie andererseits &lt; und &gt;. Je nach Situation.


    Gelegentlich schickt man den Sprachstring ja durch einen htmlentities() oder htmlspecialchars()-Befehl. Damit werden z.B. alle < zu &lt;. Soweit so gut, sichtbar kommt < raus, aber ein &lt; wird dann zu &amp;lt, die sichtbare Ausgabe dann zu &lt; statt <.


    Es war einfach ein Fehler an dieser Stelle das Zeichen < sowie > zu verwenden. Das sollte man tatsächlich nur tun, wenn man HTML-Tags verwendet, bspw.

    Code
    Hallo, <p>Freunde</p>

    Das geht dann nämlich als Override, weil das Feld einen Filter verwendet, der auf die Einstellungen "Textfilterung" in der Joomla-Konfiguration zurückgreift".


    Kurz: Vertrackte Angelegenheit ;-) Lohnt irgendwie nicht, sich weiter Gedanken zu machen, weil je nachdem wie man es löst, macht man es für andere falsch.


    Nachtrag: Ich habe nie verstanden, warum man diese spitze Klammern nicht einfach gegen andere ausgetauscht hat als das Thema aufkam. Da sperrte sich einer der Leute, der aber so viel für Joomla macht, dass man nicht lang mit ihm wegen so was rumstreitet ;-)

  • Hi Re:Later,


    Vielen Dank für Deine Antwort, sehr aufschlussreich! (Deine Meinung teile ich übrigens auch.) :)


    Ich habe das betreffende Override (mit den Zeichen < und >) überprüft, es funktioniert, wie es soll. (Würde mich auch wundern, wenn es anders wäre, sonst müsste man die englische Originaldatei entsprechend abändern.) Auch wenn von Seiten der Entwickler vermutlich keine Änderung vorgenommen wird, werde ich die Entwicklung weiter beobachten.


    Liebe Grüße, Gerald

  • Kommt auch noch dazu:

    Früher war halt so was im Seitenquelltext verboten und einige Browser zeigen das als fehlerhaft an

    Code
    <a href="wasweißich" title="Dies ist Artikel < Pillepalle ><p>Hallo Leute</p>">...

    und musste zu

    Code
    <a href="wasweißich" title="Dies ist Artikel &lt; Pillepalle &gt;&lt;p&gt;Hallo Leute&lt;/p&gt;">...

    gewandelt werden. Heute darf man wohl auch ersteres. Doppelte Verwirrung...


    Ich schick trotzdem, wenns um solche Attribute (title, alt) geht, immer durch htmlspecialchars() (und Joomla ja eigentlich auch an vielen Stellen). Manchmal gehts halt schief.