Django - Самый простой способ перевести всего 1 страницу
Я хочу перевести только 1 страницу (1 шаблон Django) на 2 разных языка.
Прочитав немного о интернационализации Django, кажется довольно сложным и, вероятно, излишним для моего случая использования (это всего лишь 1 страница и даже не публичный сайт, а просто внутренний отчет).
Было бы здорово, если бы я мог использовать один и тот же вид для разных 2 шаблонов (по одному шаблону для каждого языка), но я не знаю, как это сделать.
В настоящее время я использую что-то вроде этого для отправки информации в шаблон (на самом деле список намного длиннее):
context = {
'campaigns' : campaigns,
'data_campaigns' : data_campaigns,
'manual_changes' : manual_changes,
'groups_bad' : groups_bad,
}
return render(request, 'english.html', context)
Было бы здорово, если бы я мог создать шаблон "spanish.html" и просто перевести текст прямо в этом шаблоне.
Возможно ли это? Есть ли лучшие (и не очень сложные) решения?
Также, возможно, использование "контекста" таким образом не является лучшей практикой. Я изучаю Django, это был самый простой вариант, который я нашел, и он работает. Я открыт для изменений.
Спасибо!
Я не тестировал это, но что-то вроде этого было бы простым решением:
from django.utils.translation import activate
def your_view(request, language=None):
if language == 'es':
activate('es')
template = 'spanish.html' # may be redundant?
else:
template = 'english.html'
...
Вам нужно изменить ваш url, чтобы он принимал параметр language как строку (или выбрать другой метод различения выбранного языка).