Есть перевод модуля BBCode c drupaler.ru
При импорте перевода получаем сообщение: "One translation string was skipped because it contains disallowed HTML."
Раскопки выяснили, что ему не нравятся конструкции вида:
<s>текст</s>
которые есть в переводе английского оригинала. Это понятно, ведь при импорте Drupal использует проверку валидации строки:
<?phpfunction locale_string_is_safe($string) {
return decode_entities($string) == decode_entities(filter_xss($string, array('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')));
}?>
Куда как видим тэг 's' не входит. Тупой вопрос - а что делать, ведь тэг есть в английском оригинале и перевод НУЖЕН с участием этого тэга?
Тупой ответ - а хрен вам! Не будет русского перевода этой строки! Во всяком случае загруженного штатными инструментами.
Но это ещё не всё интересное!
Также при загрузке перевода, Drupal не нравятся и конструкции вида:
<span style="text-decoration:underline;">текст</span>
Но смотрим список выше и видим, что тэг span там есть. Угу, есть - на жопе шерсть. Если вы используете в тексте перевода:
<span>текст</span>