Перевод всплывающих подсказок в Django не работает с пробелами
Я перевожу html-подсказку с помощью i18n, которая не отображается между тегами перевода {% translate ... %}, если не убрать пробелы.
Код без тега translate:
<th scope="col">{% trans '% Name' %} <span class="tt" data-bs-placement="bottom" title= 'Some normal text (NT) with spaces.'><i class="bi bi-question-circle-fill hover-only" style="font-size: 1.2rem;"></i></span></th>
Код с тегом перевода показывает только первое слово перед пробелом.
<th scope="col">{% trans '% Name' %} <span class="tt" data-bs-placement="bottom" title= {% translate 'Some normal text (NT) with spaces.' %}><i class="bi bi-question-circle-fill hover-only" style="font-size: 1.2rem;"></i></span></th>
Когда белые пробелы удаляются с помощью _, весь текст отображается, даже если он находится между тегами {% translate ... %}.
<th scope="col">{% trans '% Name' %} <span class="tt" data-bs-placement="bottom" title= {% translate 'Some_normal_text_(NT)_with_spaces.' %}><i class="bi bi-question-circle-fill hover-only" style="font-size: 1.2rem;"></i></span></th>
Кто-нибудь знает, как показать весь текст с пробелами?
Одинарные кавычки в теге translate разделяют строку, но не являются ее частью. Поэтому при переводе у вас нет атрибутивных кавычек для title.
title= {% translate 'Some normal text (NT) with spaces.' %}
Должно быть
title= "{% translate 'Some normal text (NT) with spaces.' %}"
Or
title= {% translate '"Some normal text (NT) with spaces."' %}
Иначе браузер считает, что первое слово является строкой, поскольку нет кавычек, чтобы охватить остальную часть строки.