Ich habe HTML-Code, der in verschiedenen Sprachen generiert werden muss.Thymoleaf Internationalisierung (i18n) und HTML-Tags
Click <a href="https://here">here</a>
Kliknij <a href="https://here">tutaj</a>
Wie dieses einfache Beispiel zu handhaben mit i18n und Thymeleaf davon aus, dass url
eine Benutzereingabe?
Ich versuche:
messages.click_here = Click <a href="{0}">here</a>
und dann in thymeleaf:
<span th:text="#{messages.click_here(${url})}"></span>
aber dann ist mein Code nicht als HTML interpretiert
so kann ich utext
<span th:utext="#{messages.click_here(${url})}"></span>
Aber Jetzt ist meine Anwendung der Code-Injektion ausgesetzt. Jemand könnte böswillige Parameter über ${url}
übergeben, das Tag schließen und js generieren. utext
kann alles tun.
Was ist die beste Lösung dafür?
Für dieses einfache Beispiel funktioniert es. Es kann jedoch vorkommen, dass die Reihenfolge der Wörter im Satz wichtig ist (unterschiedliche Sprachfamilien) und die Übersetzung "hier klicken" ist. –