1.settings.py的设置
在sessionMiddleware的后面添加django.middleware.locale.LocaleMiddleware
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
2.设置区域语言
LANGUAGES = (
('zh_Hans', _('Simple Chinese')),
('en', _('English')),
)
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale/'),
)
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
# 数据库取本地时间
USE_TZ = False
3.输入带翻译的单词
from django.utils.translation import ugettext
def index(request):
return HttpResponse(ugettext('hello world!'))
{% load i18n %}
<h1>translation</h1>
<p>{% trans "This is the p element." %}</p>
4.创建翻译语言文件
django-admin.py makemessages -l de
5.编译翻译的单词
django-admin.py compilemessages
6.如果提示如下错误,安装翻译的工具即可
CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.
步骤一:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
步骤二:
brew install gettext
步骤三:
brew link gettext --force
window的用户请使用http://gnuwin32.sourceforge.net/packages/gettext.htm