Как сделать определенную строку в шаблоне переводимой в Django
Python
Senior
Без компании
Как сделать определенную строку в шаблоне переводимой в Django
Ответы
Для перевода строки в шаблоне Django используйте тег `{% trans %}` или `{% blocktrans %}`.
- **Простая строка**:
```
{% load i18n %}
<p>{% trans "Привет, мир!" %}</p>
```
- **С переменными**:
```
{% blocktrans with name=user.username %}
Привет, {{ name }}!
{% endblocktrans %}
```
- **Множественное число**:
```
{% blocktrans count counter=items|length %}
Найдена {{ counter }} запись.
{% plural %}
Найдено {{ counter }} записи.
{% endblocktrans %}
```
**Важно**:
- Добавьте `'django.template.context_processors.i18n'` в `context_processors` (в `settings.py`).
- Создайте файлы перевода (`.po`) командой `django-admin makemessages -l <язык>`.
- После редактирования `.po` скомпилируйте их: `django-admin compilemessages`.
Пример структуры `.po`-файла:
```
msgid "Привет, мир!"
msgstr "Hello, world!"
```