【发布时间】:2019-12-12 09:59:51
【问题描述】:
我想根据我的 settings.py 中定义的语言将我的 html 标记中的 lang 属性设置为当前语言环境的语言。我不使用 LocaleMiddleware 并且用户无法选择语言。
(我在同一页面有不同的域。如果有人想以不同的语言查看网站,则用户必须转到不同的网站)
settings.py
LANGUAGE_CODE = 'pl-PL'
USE_I18N = True
USE_L10N = True
LANGUAGES = [
('en', 'English'),
('de', 'German'),
('pl', 'Polish'),
('ru', 'Russian'),
('uk', 'Ukrainian'),
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'pipeline.middleware.MinifyHTMLMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.contrib.redirects.middleware.RedirectFallbackMiddleware',
]
Django 版本
Django==2.0.9
模板
{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
{% get_language_info for LANGUAGE_CODE as lang %}
<!DOCTYPE html>
<html lang="{{ LANGUAGE_CODE }}">
输出
如果我在不进行交互的情况下刷新页面,我有时会遇到:
- 请
- pl-pl
- PL-PL
为什么会这样?
【问题讨论】:
标签: django django-i18n