django 国际化

将settings.py 中加上 
USE_I18N = True


setting.py 文件中,加上 'django.core.context_processors.i18n',

TEMPLATE_CONTEXT_PROCESSORS = (
    'tools.context_processors.set',
    'django.core.context_processors.request',
    'django.core.context_processors.auth',
    'django.core.context_processors.i18n',
)

Django 的 projects 或 apps 都可以在本地目录下加入 i18n 支持。老的版本使 用 make-messages.py 脚本工具,新的版本已经集成到 django-admin 工具中。

新版本使用 django-admin.py


下面以在一个 apps 的 top 目录下示例:

创建 i18n 目录

目前的 django 创建 i18n 目录前要手动创建 conf/locale 目录

# mkdir -pv conf/locale
生成 po 文件

# django-admin makemessages -l zh_CN
现在可以打开 conf/locale/zh_CN/LC_MESSAGES/django.po 文件翻译了,注意修 改下面一些信息为你自己的:
翻译好对应的语句。


编译po文件
# django-admin makemessages

在conf/locale/zh_CN/LC_MESSAGES/ 目录下就能看到 django.mo 文件,这是一个二进制的文件


更新 po 文件

以后如果要更新 po 文件,可以:

# django-admin makemessages -a


在 具体的 templates 中,加入{%load i18n %}

具体内容加入trans,就可以,例如:{%trans '你好'%}

这样运行页面就可以了





你可能感兴趣的:(django,脚本)