Django项目国际化
Django项目国际化
- 实验环境: py3.4.3 + django1.8.2 + Windows
- 项目设置
>django-admin startproject I18nDjango
>manage.py startapp i18n
1. 安装 gettext 。下载
2. 在源码中标记须要翻译的字符串
(1) 通过 ugettext() 标记views.py 中的待翻译字符串
from django.utils.translation import ugettext
def index(request):
return HttpResponse(ugettext('hello world!'))
(2) 通过 {% trans %}标记模板中的待翻译字符串
{% load i18n %}
<h1>translation</h1>
<p>{% trans "This is the p element." %}</p>
3. 创建语言相关的资源文件
(1) 在project根文件夹下’mkdir locale’
(2) 通过以下命令创建资源文件(.po file). 这个命令能提出 hard code string
django-admin.py makemessages -l de
(3) 在settings.py中设置LOCALE_PATHS。并保证以下的变量为True
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
LOCALE_PATHS = ('locale/',
)
4. 更新资源文件
django-admin.py makemessages -a
5. 将.po资源文件编译为二进制的更有效率的.mo文件
django-admin.py compilemessages
6. 在 settings.py 中加入中间件
以下这个中间件能让Django站点依据配置或Accept-Language返回资源文件里相应语言的字符串
MIDDLEWARE_CLASSES = (
... ...
'django.middleware.locale.LocaleMiddleware',
)
实验代码请看
* https://github.com/ybdesire/WebLearn/tree/master/14_Django/I18nDjango
很多其它Djang的I18n细节请看 这里
Django项目国际化的更多相关文章
- Django项目实践4 - Django网站管理(后台管理员)
http://blog.csdn.net/pipisorry/article/details/45079751 上篇:Django项目实践3 - Django模型 Introduction 对于某一类 ...
- Django项目实践4 - Django站点管理(后台管理员)
http://blog.csdn.net/pipisorry/article/details/45079751 上篇:Django项目实践3 - Django模型 Introduction 对于某一类 ...
- django创建第一个django项目-2
安装django 虚拟环境下执行命令: pip install django==1.11.11 查看是否安装成功 pip list 列表中有django说明安装成功 创建工程 命令行移动到想要创建项目 ...
- Django项目开发,XSS攻击,图片防盗链,图片验证码,kindeditor编辑器
目录 一.Django项目开发 1. 项目开发流程 2. auth模块的补充 (1)django的admin可视化管理页面 (2)将admin可视化管理页面的模型表显示成中文 (3)auth模块的用户 ...
- centos7 apache httpd安装和配置django项目
一.安装httpd服务 apache在centos7中是Apache HTTP server.如下对httpd的解释就是Apache HTTP Server.所以想安装apache其实是要安装http ...
- 终端指令操作创建Django项目
需求:通过Django创建一个用户表和权限表. 用户表包括:用户名,邮箱,密码,管理权限. 权限表包括:普通用户,管理用户,超级用户. 权限表和用户表有一对多的关系,即用户表中的每条数据对应权限表中的 ...
- mac osx 上面部署Django项目 apache+mysql+mod_wsgi
1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...
- Apache部署django项目
在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目部署到特定的w ...
- python——创建django项目全攻略(野生程序员到家养程序员的完美进化)
新建工程 我用pycharm写代码,所以一般就用pycharm创建django工程.右上角File-New Project.选择路径,修改项目名称,确定.就可以创建一个新的django工程. ...
随机推荐
- C++多重继承二义性解决
1. 什么是多重继承的二义性 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class A{ public: void f(); } class B{ pu ...
- java界面编程(3) ------ 控制布局
本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 在java 中,组件放置在窗口上的方式可能与其它的GUI系统都不同样.首先,它全 ...
- net登录积分(每天登录积分仅仅能加一次) 时间的比較
public void jifenchange()//积分方法 { //积分模块//推断如今的日期和任务完毕日志数据库取出来 的日期大小,注意:Compare()方法仅仅会 ...
- java中int取值范围是怎么计算的?
首先jdk中定义int占4个字节 ===> 32位(后面全部的计算都是以此为根据的) 32位就是jvm仅仅给分配32个格子的空间,用以存放数据. 总所周知计算机中用0和1存放数据. 那么,32个 ...
- MFC【17-1】线程和线程同步化
17.1线程 对于Windows来说所有的线程都是一样的,但MFC却把线程区分为两种类型:User Interface(UI) threads(用户界面(UI)线程)和Worker threads(工 ...
- 【Linux】apt-get install 怎么阻止弹出框,使用脚本默认自动安装?
You can do a couple of things for avoiding this. Setting the DEBIAN_FRONTEND variable to noninteract ...
- 转: Android中的签名机制
转载请注明出处:http://www.blogjava.net/zh-weir/archive/2011/07/19/354663.html Android APK 签名比对 发布过Android应用 ...
- 转: Android Studio你不知道的调试技巧
http://tianweishu.com/2015/12/21/android-studio-debug-tips-you-may-not-know/
- Nginx + FastCGI 程序(C/C++)搭建高性能web service的demo
http://blog.csdn.net/chdhust/article/details/42645313 Nginx + FastCGI 程序(C/C++)搭建高性能web service的Demo ...
- Jenkins +JUnit
转载:https://www.cnblogs.com/helloIT/p/5761740.html 1.环境 windows10 专业版 Jenkins 2.7 apache-ant-1.9.6 JD ...