django的i18n
来源:互联网 发布:mac bilibili直播端 编辑:程序博客网 时间:2024/06/05 08:05
一、三种程序中的用法
1、python代码里的翻译
view这种使用ugettext
django-admin makemessages -l zh_CN
2、django html模板里的翻译
{% load i18n %}
1、python代码里的翻译
from django.utils.translation import ugettext as _from django.utils.translation import ugettext_lazy as _注意model,form这种是只加载一次的 需要ugettext_lazy,不然语言在浏览器端 动态切换时会有问题
view这种使用ugettext
django-admin makemessages -l zh_CN
2、django html模板里的翻译
{% load i18n %}
{%trans 'xxxxx' %}
django-admin makemessages -l zh_CN
3、js里的翻译
项目url.py
url(r'^jsi18n/(?P<packages>\S+)/$', 'django.views.i18n.javascript_catalog'),
<script src="{% url 'django.views.i18n.javascript_catalog' 'sql' %}"></script><script src="your js"></script>
django-admin makemessages -d djangojs -l zh_CN
这三种都需要
django-admin compilemessages
二、两种实际运行方式:
静态方式:指定
LANGUAGE_CODE = 'zh-CN'
和浏览器无关,只显示中文
动态可切换方式
添加'django.middleware.locale.LocaleMiddleware',
可根据用户浏览器偏好,此时LANGUAGE_CODE不生效。
根据HTTP请求头来决定。
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding
gzip, deflate
Accept-Language
zh-CN,en-US;q=0.7,en;q=0.3
Cache-Control
max-age=0
中指定的语言返回对应的语言。这种方式可编程,在cookie可以指定zh-cn,此种 情况会忽略HTTP请求头的指定的语言。
0 0
- django的i18n
- 实践 Django 的 i18n(国际化)
- django的i18n,强制使用某种语言
- Django 1.5 + Python 2.7.3 关于Django的国际化(i18n)
- Django i18n国际化
- Django i18n国际化
- Django i18n国际化
- i18n的实现
- Java 的i18n问题
- JSP的I18N标签
- Struts 实现的I18N
- Java的国际化(i18n)
- IOS 应用的I18N
- JSP的I18N标签
- Java的国际化(i18n)
- struts2的国际化i18n
- i18n的意思
- Java的国际化(i18n)
- 加盐hash保存密码的正确方式
- [CSS3 Practice] Learn Apple Navigator Bar
- *第十五周*数据结构实践项目三【B-树的基本操作】
- leetcode -- Path Sum II --- 重点,未理解
- Android中的MVP模式使用
- django的i18n
- 第十五周--用哈希法组织关键字(2)
- C语言中可变参数的宏定义
- 2015-12-7 迷宫问题之图深度优先遍历解法
- hdu 2126 Buy the souvenirs (01背包输出方案数)
- MAT Memory Analyzer Tool 插件包离线安装(图解)
- Xcode:为你的项目集成单元测试时记得避开这些坑
- 操作系统笔记---存储器管理
- 第十五周知原理题目解析