zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    一种分布式框架设计(四)
    读书笔记-《拆掉思维里的墙》
    [JS前端开发] js/jquery控制页面动态载入数据 滑动滚动栏自己主动载入事件
    Qt 5.3更新无数,更改C++控制台输出最为赞
    Guava ---- Ordering排序工具
    codeforces 558D Guess Your Way Out! II 规律
    Linux shell之打印输出
    细说Oracle中NULL值
    责任成本汇总表
    NSOperationQueue小结
  • 原文地址:https://www.cnblogs.com/zyj-python/p/7528545.html
Copyright © 2011-2022 走看看