Answer the question
In order to leave comments, you need to log in
How to set up multilanguage in django 2?
settings.py :
...
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'news.middleware.SimpleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
...
LANGUAGE_CODE = 'ru'
LANGUAGES = (
('ru', _("Русский")),
('en', _("English"))
)
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
# Django
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.i18n import i18n_patterns
# Project
from news.views import hello
urlpatterns = [
path('admin/', admin.site.urls),
path('i18n/', include('django.conf.urls.i18n')),
]
urlpatterns += i18n_patterns(
path('', hello),
prefix_default_language=False,
)
from django.shortcuts import render
from django.http.response import HttpResponse
from django.utils.translation import get_language
def hello(request):
return HttpResponse(get_language())
python3 manage.py makemessages -l ru
python3 manage.py makemessages -l ru
python3 manage.py compilemessages
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question