在web开发中经常会根据不同语言地区的用户显示不同的页面,或者你想集中管理你的页面提示或警告信息,这种情况下,我们一般都回利用一些系统自身的国际化功能来完成这个工作。
下面我会用很简洁的方式一步一步从创建一个项目开始,描述如何在django中使用国际化功能。在开始之前,先说说开发环境:winxppro+sp2+python2.5+django0.96,另下面的很多django命令都在django安装根目录的bin下,请事先设置好路径方便使用。
第一步: 创建一个项目
使用
django-admin.py startproject djtest 创建项目;
第二步: 创建应用
使用
manage.py startapp international 创建应用;
第三步: 修改配置文件
在djtest目录下,更改settings.py,修改DATABASE_ENGINE DATABASE_NAME DATABASE_USER DATABASE_PASSWORD,这几个参数值随便设置吧,但是要保证能够链接上数据库,否则后面django自带的测试服务器启动不了,并且一访问就报错 :),此外再设置USE_I18N = True;
第四步: 配置urls.py
在urlpatterns中增加一行 (r'^international/test/', 'djtest.international.views.test')
第五步: 写一个简单的处理函数
打开views.py,添加如下代码
python 代码
- from django.shortcuts import render_to_response
- def test(request):
- return render_to_response('international/test.html')
第六步: 写一个简单的模板文件
在djtest目录下创建一个templates/international目录,并在该目录下创建一个test.html模板文件,主要加入下面两行(详细请看上传的源码):
{% load i18n %}
{% trans 'hello test' %}
第七步: 创建包含国际化文本串的文件
在djtest目录下,首先创建目录locale,敲入命令
make-messages.py -l zh_CN 命令在djtest下的locale/zh_CN/LC_MESSAGES下生成文件django.po,该文件为刚刚敲入的命令遍历djtest下的源代码和模板目录后生成的,所以打开这个文件,你会找到这样两行:
代码
- msgid "hello test"
- msgstr "中文测试"
在msgstr的双引号内写入自己想要表达的字符串即可,比如"中文测试",并将该django文件保存为utf-8格式,在windows下最好不要带bom。
然后我们在djtest下,再敲入命令 make-messages.py -l en 命令在djtest下的locale/en/LC_MESSAGES下生成文件django.po,然后我们做同样的处理,只不过把msgstr的内容写成"english test",也将该文件保存为无bom的utf-8格式。
请注意,每个.po文件都请将Content-Type: text/plain; charset设置为utf-8;
第八步: 编译.po文件
在djtest目录下,敲入命令
compile-messages.py 该命令会为每一个.po文件生成.mo文件,供django使用;
第九步: 设置settings.py文件
在INSTALLED_APPS加入'djtest.international', 设置LANGUAGE_CODE = 'zh-cn'
第十步: 启动django的测试服务器
- djtest.rar (7.1 KB)
- 描述: 整个测试项目文件,解压后,如果你的python和django环境是搭建好的,可直接使用,只需修改settings.py中相关数据库配置即可
- 下载次数: 135
分享到:
- 2007-11-05 15:50
- 浏览 8065
- 评论(3)
- 论坛回复 / 浏览 (2 / 7617)
- 查看更多
相关推荐
第十八章 国际化 第十九章 安全 第二十章 部署Django 附录A 案例学习 附录B 数据模型定义参考 附录C 数据库API参考 附录D 通用视图参考 附录E 配置参考 附录F 内建的模板标签和过滤器 附录G Django管理实用工具...
基于Django1.9.5开发一个简单的博客系统 三个分支: master: 主分支 ...使用Django1.9开发博客(12)- I18n国际化 使用Django1.9开发博客(13)- Redis缓存 使用Django1.9开发博客(14)- 集成Xadmin
第十八章 国际化 第十九章 安全 第二十章 部署Django 附录A 案例学习 附录B 数据模型定义参考 附录C 数据库API参考 附录B 通用视图参考 附录E 配置参考 附录F 内建的模板标签和过滤器 附录G Django管理实用工具 附录...
Django 提供了一个强大的国际化和本地化的框架, 以帮助您在多语言和世界各地区进行应用程序的开发: 概览 | 国际化 | 本地化 | 给 Web 界面及表单输入进行本地化 时区 性能和优化 有各种各样的技术和工具,可以帮助...
内置国际化系统,支持开发多种语言的 Web 网站。 缓存系统采用与 memcached、Redis 等缓存系统联用的方式,提高了页面的加载速度。 内置了一个可视化的、自动化管理员界面(Admin Site),其类似于一个 CMS 系统...
FairVillage WIP (WIP =网站国际化平台)是网站国际化(i18n)的编辑部; 它是在FairVillage内部开发的, FairVillage是FI-WARE EU计划的FI-采用增值项目的子项目。 WIP是转换代理概念的原始应用程序:一种翻译...
- 国际化文件(mo和po):1139个,保证了服务的多语言支持。 - Python源代码(py):735个,实现了CalDAV服务的核心逻辑。 - HTML模板文件:86个,构建了用户界面。 - 图像文件(gif):34个,用于界面视觉元素。 - ...
- 国际化文件(mo、po):各1182个,支持多语言界面。 - 图像文件(gif、png):347个,用于界面视觉元素。 - 文本文件(txt):58个,包含配置或说明文本。 - 动态链接库(dll):52个,为系统运行提供必要支持。 ...
寻房者 用于出租物业的房地产物业管理系统。 使用Python,Django,HTML,CSS,JavaScript,Bootstrap和... 实施的国际化(i18n),允许用户在英语和汉语之间切换语言。 如何安装 pip install -r requirements.txt pyt
介绍Sveetchies-documents是一个用于管理文本文档的 Django 应用程序... 国际化界面(目前为英语和法语); 当页面仅限于登录用户时,可选使用用于页面附件;链接阅读上; 下载他的; 将其克隆到他的Github 存储库中;
另外,国际化页面,使用了gettext,请到sf下载安装 以上内容见docs/更新历史。txt 还有很多地方要完善,首先要完善的就是的blog中不能发图片,只有photo模块可以发图片,现在比较忙,以后在搞吧,嘿嘿 截图请到...
现如今,基于Java的网站开发明显过于复杂,远超实际工作需要。在Java领域中,大部分的网站开发框架也没有严格的...使用Spring的MessageSource实现国际化(i18n) 一个基于Spring事务抽象的事务层 借助功能强大的Groovy