Sunday, June 1, 2008

Django|django中如何国际化

百博 - django中如何国际化..

django中如何国际化你的页面
bluecrystal   2007-11-05  

作者: bluecrystal  链接:http://bluecrystal.javaeye.com/blog/138106  发表时间: 2007年11月05日

声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!

在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 代码
  1. from django.shortcuts import render_to_response
  2. def test(request):
  3. 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下的源代码和模板目录后生成的,所以打开这个文件,你会找到这样两行:
代码
  1. msgid "hello test"
  2. 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目录下,敲入命令 manage.py runserver,然后访问http://localhost:8000/international/test/浏览效果,更改settings.py中的LANGUAGE_CODE = 'en', 你就可以看到英文的消息。

FreeBSD|make install时配置菜单不见了

make install时配置菜单不见了

make install时配置菜单不见了

Posted by 刘 敏 as FreeBSD

在FreeBSD下由于系统会纪录曾安装过 ports 的当时所选择的清单选项,因此有时会因为安装时出了问题,或是再一次安装时,就不会出现清单可以选择。如何让清单选项重新出现呢?

make clean
make showconfig # 显示设定的内容
make rmconfig # 清除设定的内容
make config

之前设定 ports 的选项预设会纪录在 /var/db/ports/{ports_name}/options 内容中。如要查看之前 python 有选择的清单选项:

cat /var/db/ports/python/options