Когда в forms.py использую функцию gettext_lazy, то вне зависимости от того, какой язык настроен в броузере - английский или русский, вебсайт отображается полностью на русском. То что обведено в рамочку слева - это вывод в шаблоне из forms.py в цикле. Правая часть - то что на англ выходит выпадающее меню - еще не переведена. Верхняя часть - простой текст из шаблонов. На английском языке левая и верхняя части сайте не выходят вообще.

Когда в form.py использую функцию gettext, то в независимости от того, какой язык настроен в броузере - английский или русский, вебсайт отображается нижняя часть на английском, а верхняя на русском.

Другими словам - верхняя часть сайта - простой текст из шаблонов ВСЕГДА выходит только на русском языке.
Все шаблоны начинаются {% load i18n %}
Как настроить корректную работу?
forms.py
from django import forms from django.db.models import Max, Min from .models import Application, FlowRate, WaterFilterSubType, Fineness, Dirt from .models import DirtProperties, Flange from django.utils.translation import gettext_lazy as _ # from django.utils.translation import gettext as _ class InputDataWaterForm(forms.Form): '''Application''' choices = list(Application.objects.values_list('id','application')) application = forms.ChoiceField(choices = choices, initial="1", label=_("Specify application:")) ...
urls.py
from django.contrib import admin from django.urls import path from . import views from django.conf.urls.i18n import i18n_patterns app_name = 'rsf' urlpatterns = [ path('f_size_water/', views.f_size_water, name = 'f_size_water'), path('f_size_water_fin/', views.f_size_water_fin, name = 'f_size_water_fin'), ]
settings.py
import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) SECRET_KEY = 'xxxxxxxxxxxxxxxxx' DEBUG = True ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = [ 'rsf.apps.RsfConfig', 'auswertung.apps.AuswertungConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'ako.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] WSGI_APPLICATION = 'ako.wsgi.application' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True LOCALE_PATH = [os.path.join(BASE_DIR, 'locale')] STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ] EMAIL_HOST = 'smtp.gxxx.xx' EMAIL_PORT = 587 EMAIL_HOST_USER = 'xxxxxx' EMAIL_HOST_PASSWORD = 'xxxxxxx!' EMAIL_USE_TLS = True