【发布时间】:2018-04-14 06:02:24
【问题描述】:
我在里面使用 {% trans %} 用英语编写了我的模板。
我决定把它翻译成法语,所以我把它放在设置中:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'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',
]
LANGUAGES = (
('en', _('English')),
('fr', _('French')),
)
LANGUAGE_CODE = 'fr'
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
然后我使用 makemessages 和 compilemessages 来生成翻译后的字符串。这很好用!我的网站是法语的。
但现在我想让我的网站恢复为英文版, 所以我只是将 LANGUAGE_CODE 更改为:
LANGUAGE_CODE = 'en'
但是我的网站仍然是法语的!甚至 django-debug-bar 仍然是法语。
我发现的唯一解决方法是在 LANGUAGES 中注释掉法语:
LANGUAGES = (
('en', _('English')),
# ('fr', _('French')),
)
- 我尝试在列表中移动 localMiddleware:没有成功,
- 我尝试清除 cookie:没有成功。
- 我生成了英文 .mo 和 .po 文件:没有成功
- 我试过 LANGUAGE_CODE = 'en-us' :没有成功
为什么 LANGUAGE_CODE = 'en' 不起作用?
【问题讨论】: