Параметры в переводах в Django
Если в фразу нужно вставить имя
или число, используют
{% blocktranslate %}:
{% load i18n %}
{% blocktranslate with name=user_name %}
Hello, {{ name }}!
{% endblocktranslate %}
В Python:
from django.utils.translation import gettext as _
text = _('Hello, %(name)s!') % {'name': 'John'}
Плейсхолдеры важны: в разных языках
порядок слов разный, поэтому
не склеивают перевод из кусков
через +.
Выведите приветствие с именем
через blocktranslate.
Сделайте то же через
gettext и
%(name)s.