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 как строку (или выбрать другой метод различения выбранного языка).

Вернуться на верх