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