Fehler bei der Übersetzung von Drupal 7 und Drupal 8

Leider kann es vorkommen, dass man bei der nachträglichen Übersetzung einiger Erweiterungen von Drupal den Fehler „Übersetzungen wurden ignoriert, weil diese nicht erlaubtes HTML enthielten“ oder „Übersetzungen wurde nicht gespeichert, weil diese nicht erlaubtes HTML enthält“ bekommt. Hierbei handelt es sich nicht um einen Fehler in Drupal sondern vielmehr um eine nicht ganz saubere Programmierung der Erweiterungen, denn bei den Sprachstrings sind eigentlich keine HTML tags notwendig und in Drupal Formularen werden um XXS-Angriffe zu vermeiden, Strings überprüft und nur diese Tags sind zugelassen: 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big', 'blockquote', 'br', 'caption', 'cite', 'code', 'col', 'colgroup', 'dd', 'del', 'dfn', 'dl', 'dt', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'ins', 'kbd', 'li', 'ol', 'p', 'pre', 'q', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr', 'tt', 'ul', 'var'

Um nun das Problem zu lösen gibt es für Drupal 7 die Erweiterung „Disable translate validation„ (https://www.drupal.org/project/disable_translate_validation) für Drupal 8 gibt es dieses Plugin noch nicht aber eine einfache Lösung ist es die Datei „Locale.module“ im Verzichnis „core/modules/locale“ zu Erweitern. In dieser Datei findet sich ca. auf Zeile 1054 die Liste der erlaubten Tags

'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big', 'blockquote', 'br', 'caption', 'cite', 'code', 'col', 'colgroup', 'dd', 'del', 'dfn', 'dl', 'dt', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'ins', 'kbd', 'li', 'ol', 'p', 'pre', 'q', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr', 'tt', 'ul', 'var'

Diese Liste kann dann entsprechend erweitert werden. Die Erweiterung bringt aber zwei Probleme mit:

  1. Bei einem Update kann/wird die Datei überschrieben und damit muss bei Bedarf die Anpassung wiederholt werden
  2. Bei einer Erweiterung der Liste werden XXS-Angriffe wahrscheinlicher und damit macht man seine eigenen Seite unsicherer.