Функция deactivate_all
Функция deactivate_all применяется для полной деактивации текущего активного языка и всех связанных с ним настроек интернационализации. После вызова этой функции все последующие операции с переводом будут использовать язык по умолчанию, указанный в настройках проекта. Функция не принимает никаких параметров и возвращает объект, который может быть использован для восстановления предыдущего состояния.
Синтаксис
from django.utils.translation import deactivate_all
deactivate_all()
Пример
Давайте рассмотрим базовый пример использования функции для деактивации текущего языка:
from django.utils.translation import activate, deactivate_all, get_language, gettext
# Активируем русский язык
activate('ru')
print(get_language())
# Деактивируем все языки
deactivate_all()
print(get_language())
Результат выполнения кода:
"ru"
"None"
Пример
Использование функции в контексте обработки запроса для сброса языковых настроек:
from 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)
Результат выполнения кода:
"Language reset successfully"
Пример
Использование функции вместе с менеджером контекста для временной деактивации языка:
from 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())
Результат выполнения кода:
"fr"
"None"
"en"
Смотрите также
-
функция
activate,
которая активирует указанный язык для текущего потока -
функция
deactivate,
которая деактивирует текущий активный язык -
функция
get_language,
которая возвращает текущий активный язык -
функция
override,
которая временно изменяет язык в контексте выполнения