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} (который тоже может содержать пробелы). Что вы думаете?