我试图激活不同的语言为我的项目。 现在英语和西班牙语。
我将描述我按照所有的步骤:
首先,我把我自己我要翻译的目录。 或者还好说,所有{%反%}标签:
$ cd media/templates/landing/
$ mkdir locale
$ django-admin.py makemessages --locale=en
最后一个命令创建目录/文件/locale/en/LC_MESSAGES/django.po
我打开django.po和我继续完成英语语言的所有msgstr领域。 MSGID标签是西班牙语。 我尊重有关超长短信的情况下提示。 在这个文件中填写后,我做:
$ django-admin.py compilemessages
这个过程django.po并创建django.mo。
所以我修改settings.py。 重要的几行:
TEMPLATE_CONTEXT_PROCESSORS = (
'ism.context_processor.user_vars',
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.contrib.messages.context_processors.messages',
'django.core.context_processors.request',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'pipeline.middleware.MinifyHTMLMiddleware',
}
TIME_ZONE = 'Atlantic/Canary'
LANGUAGE_CODE = 'es'
USE_I18N = True
_ = lambda s: s
LANGUAGES = (
('es', _('Espanol')),
('en', _('English')),
)
USE_L10N = True
USE_TZ = True
最后,我此行添加到URLS.py:
(r'^i18n/', include('django.conf.urls.i18n')),
我重新启动我的开发服务器,配置我的Firefox浏览器,首先作为主要语言选择英语,这是行不通的。 所有文本仍然显示在西班牙语而不是英语。
我要确保Firefox是用英语进行配置,因为在Django视图功能(该功能使的.html)我就与request.LANGUAGE_CODE,打印“EN”的打印。
什么是我作出错误的?