Функция deactivate_all

Функция deactivate_all применяется для полной деактивации текущего активного языка и всех связанных с ним настроек интернационализации. После вызова этой функции все последующие операции с переводом будут использовать язык по умолчанию, указанный в настройках проекта. Функция не принимает никаких параметров и возвращает объект, который может быть использован для восстановления предыдущего состояния.

Синтаксис

pythonfrom django.utils.translation import deactivate_all

deactivate_all()

Пример

Давайте рассмотрим базовый пример использования функции для деактивации текущего языка:

pythonfrom django.utils.translation import activate, deactivate_all, get_language, gettext

# Активируем русский язык
activate('ru')
print(get_language())

# Деактивируем все языки
deactivate_all()
print(get_language())

Результат выполнения кода:

python"ru"
"None"

Пример

Использование функции в контексте обработки запроса для сброса языковых настроек:

pythonfrom django.http import HttpResponse
from django.utils.translation import activate, deactivate_all, gettext as _

def reset_language(request):
  # Активируем английский язык
  activate('en')

  # Деактивируем все языки
  deactivate_all()

  message = _("Language reset successfully")
  return HttpResponse(message)

Результат выполнения кода:

python"Language reset successfully"

Пример

Использование функции вместе с менеджером контекста для временной деактивации языка:

pythonfrom django.utils.translation import activate, deactivate_all, get_language, gettext

def temporary_deactivation():
  # Сохраняем текущий язык
  current_lang = get_language()

  # Активируем французский
  activate('fr')
  print(get_language())

  # Деактивируем все языки
  deactivate_all()
  print(get_language())

  # Восстанавливаем сохраненный язык
  if current_lang:
    activate(current_lang)

  print(get_language())

Результат выполнения кода:

python"fr"
"None"
"en"

Смотрите также

  • функция activate,
    которая активирует указанный язык для текущего потока
  • функция deactivate,
    которая деактивирует текущий активный язык
  • функция get_language,
    которая возвращает текущий активный язык
  • функция override,
    которая временно изменяет язык в контексте выполнения