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

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

  • 相关阅读:
    MFC tab页面中获到其它页面的数据
    sqlite数据库中"Select * From XXX能查到数据,但是Select DISTINCT group From xxx Order By group却查不出来
    关闭程序出现崩溃(exe 已触发了一个断点及未加载ucrtbased.pdb)
    springboot 通用Mapper使用
    springBoot 发布war包
    springCloud Zuul网关
    springboot hystrix turbine 聚合监控
    springBoot Feign Hystrix Dashboard
    springBoot Ribbon Hystrix Dashboard
    springBoot Feign Hystrix
  • 原文地址:https://www.cnblogs.com/zyj-python/p/7528545.html
Copyright © 2011-2022 走看看