django国际化的简单设置

    设置国际化的具体步骤:

一、国际化

  1)效果:针对不同的国家的人可以配置不同的语言(一般是英文和中文,  English  Chinese)

  2)目的:增加项目的用户量

  3)难度:不难 比较费劲的就是翻译

二、步骤

  1)安装gettext这个工具,搜索这个安装包下载地址http://www.gnu.org/software/gettext/下载之后安装即可

  2)测试是否安装成功 

  打开终端 输入 gettext --version  如果成功应该会提示

      

   如果提示'不是内部或外部命令',需要手动添加环境变量

  3)配置项目 在settings.py中

1. 找到settings.py,在MiddleWare中添加一句
    'django.middleware.locale.LocaleMiddleware',
2. 在配置文件中添加要国际化的语言
LANGUAGES = (
    ('en-us', ('英文')),
    ('zh-hans', (u"中文")),
)
3. 配置国际化文件的路径
LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)
 4. 配置模板上下文,在'context_processors'下面添加
     'django.template.context_processors.i18n',

  4) 开始国际化

1. 在需要国际化的地方导入一个包
    from django.utils.translation import gettext_lazy as _  
2. 在需要国际化的地方使用   _()进行国际化
    例如  _(u"登录")
3. 如果网页中也有中文, 前端/网页需要配置网页前面加载一个i18n
    {% load i18n %}
修改中文的部分为
<h1>{{ _('欢迎登录') }}</h1> 或  <h1>{% trans '欢迎登录' %}</h1>   两个写法等价

  5) 生成国际化文件(注意:如果语言中是横岗,要改为下划线)

 在 django 下方的 Terminal 中输入

 #生成英文
python manage.py makemessages -l en_us
 #生成中文
python manage.py makemessages -l zh_hans

  如果提示 'make sure you have GNU gettext tools 0.15 or newer ***', 就关掉pycharm重新打开

 项目中应该会生成一个locale文件夹,里面有对应的文件打开里面的 ****.po 文件,对里面的内容进行翻译

  6) 翻译完毕以后对po文件进行编译,否则没法国际化

python manage.py compilemessages

按照以上步骤执行就完成了

posted @ 2017-09-15 21:45  领着猫散步的鱼  阅读(1394)  评论(0编辑  收藏  举报