Как перевести кнопки выбора радио?
Я использую i18n для изменения языка, проблема в том, что в нескольких моих формах я смог сделать перевод, проблема в том, что когда в forms.py есть радиокнопка, я не знаю, как перевести опции
html
<div class="mb-3">
<label class="form-label d-block mb-3">{% trans "Country" %}:</label>
<div class="custom-radio form-check form-check-inline">
{{ form.pais }}
</div>
</div>
forms.py
PAIS = (
('United States', 'United States'),
('Canada', 'Canada'),
('Other', 'Other'),
)
class ClientesForm(forms.ModelForm):
pais = forms.ChoiceField(
choices=PAIS,
widget=forms.RadioSelect(attrs={'class':'custom-radio-list'}),
)
Вы можете работать с функцией gettext_lazy(…) [Django-doc] для работы с лениво переводимыми строками:
from django.utils.translation import gettext_lazy as _
PAIS = (
('United States', _('United States')),
('Canada', _('Canada')),
('Other', _('Other')),
)
Это добавит переводы для United States, Canada и т.д., когда вы делаете переводы, и переведет текст при отображении формы.
Для получения дополнительной информации смотрите раздел Ленивые переводы документации.