Для вставки переменных из .po файла в HTML-шаблоне Django, можно воспользоваться шаблонным тегом `trans`. Например:
```html
{% load i18n %}
{% trans "Hello, {{ username }}" %}
```
В данном случае `{{ username }}` будет заменено значением переменной `username` из .po файла при переводе.
Что касается подстановки значения переменной `formula_prespace` в строку, возвращаемую транслятором gettext, Django не поддерживает такую возможность "из коробки". В Django переменные в строке, передаваемой в `trans`, не обрабатываются как шаблонные переменные, и Django не заменяет их значениями.
Однако, можно применить хитрость и использовать фильтр для подстановки переменных в строку в шаблоне. Например, можно определить кастомный фильтр:
```python
# custom_tags.py
from django import template
register = template.Library()
@register.filter
def subst(value, arg):
return value.replace('{{ formula_prespace }}', arg)
```
И затем использовать этот фильтр в шаблоне:
```html
{% load custom_tags %}
{% trans "Hello, {{ formula_prespace }}"|subst:formula_prespace %}
```
Это позволит вставить значение переменной `formula_prespace` в строку, переданную в `trans`, хотя и не так просто, как в Flask.