Django - Специальные символы в переводах

Мне нужно перевести строку, содержащую неразрывный пробел ("\xa0"), но я не могу найти способ правильно перевести эту строку. Перевод игнорирует специальный символ или вообще не переводит строку. В конце концов я пришел к такому решению:

from django.utils.translation import gettext_lazy as _, pgettext_lazy

return _("On {date} ({timesince} ago)")\
    .replace(" ago)", "\xa0ago)")\
    .replace("(לפני ", "(לפני\xa0")\
    .format(
        date=formats.date_format(value=last_visit_date),
        timesince=timesince(d=last_visit_date, now=today),
    )

Что работает, но я бы предпочел переводить строку правильно и не заменять переведенную строку после ее перевода.

Обратите внимание, что английский язык возвращает оригинальную строку без перевода.

(я пытался перевести строку "On {date} ({timesince}\xa0ago)", но не получилось)

Есть идеи?

Я думаю, может быть, я могу использовать "{timesince} ago" как отдельную строку, затем перевести ее, а затем преобразовать только пробелы в "\xa0", и только потом отформатировать {timesince} (который тоже может содержать пробелы). Что вы думаете?

Вернуться на верх