关闭

Django项目国际化

2762人阅读 评论(0) 收藏 举报
分类:

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) 在工程根目录下’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细节请看 这里

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Django 国际化和本地化

他分为models, views和模版(templates)三处的英文转化。 首先settings 增加一个locale的中间件 增加LANGUAGES 增加LOCAL...
  • permike
  • permike
  • 2016-04-21 11:25
  • 3751

Django国际化和本地化

以前写过一个关于edX平台汉化的博客链接在此:http://blog.csdn.net/lion19930924/article/details/41791751 但是在edX平台使用的是paver工...
  • lion19930924
  • lion19930924
  • 2016-05-24 14:16
  • 1253

Django项目实践2 - Django模板(网页多语种支持/国际化)

http://blog.csdn.net/pipisorry/article/details/45061579 如果你要实现多种语言版本的django网站,如英语和中文的两个网站,lz将介绍一个最快...
  • pipisorry
  • pipisorry
  • 2015-04-16 10:54
  • 7710

Django国际化

1.创建一个名为djangoi18n的project(在/root/work/目录下) # django-admin.py startproject djangoi18n 2.在djangoi18...
  • feiyangbaxia
  • feiyangbaxia
  • 2015-09-17 17:39
  • 808

Django使用Mysql数据库已经存在的数据表

本文介绍了在Django中使用Mysql数据库已经存在的数据表的方法
  • liuweiyuxiang
  • liuweiyuxiang
  • 2017-05-03 21:13
  • 3577

Django 开发学习笔记(3)- 编写自定义的页面

1、在主程序的 urls.py 中添加:url(r'', include('blog.urls', namespace="blog"))表示包含 blog 这个应用下的 urls.py 中的 urls...
  • lw_power
  • lw_power
  • 2017-09-09 01:27
  • 107

已经解决django生成po文件时出现的xgettext的错误

通过摸索和查阅django官网文档,我今天已经解决windows上执行django-admin.py makemessages -l zh_CN 后出现xgettext不是内部或外部命令,也不是可运行...
  • huyoo
  • huyoo
  • 2008-10-02 22:45
  • 3048

Django i18n国际化

最近在看Django的国际化,看了很多贴子,终于有了比较系统的认识,在这里做一下简单总结。 先来看两个概念: 国际化:是指为了该软件在任何地区的潜在使用而进行程序设计的过程。 它包括了为将...
  • wang1144
  • wang1144
  • 2016-12-19 01:52
  • 798

Django 中文本地化汉化方法

在 Python 的 web 开发框架中很多人都会选择强大的 Django 来进行学习,但是 Django 默认使用的语言是英语,对于开发人员可能还好,但是实际部署的时候英文环境对于网站运维人员未必友...
  • aaazz47
  • aaazz47
  • 2017-11-29 17:32
  • 69

Django项目实践2 - Django模板(网页多语种支持/国际化)

http://blog.csdn.net/pipisorry/article/details/45061579 如果你要实现多种语言版本的django网站,如英语和中文的两个网站,lz将介绍一个最快...
  • pipisorry
  • pipisorry
  • 2015-04-16 10:54
  • 7710
    个人资料
    • 访问:525084次
    • 积分:5280
    • 等级:
    • 排名:第6022名
    • 原创:135篇
    • 转载:2篇
    • 译文:5篇
    • 评论:97条
    个人联系信息
    个人开源项目:https://github.com/ybdesire。联系专家帮助:(1)机器学习,深度学习,NLP,数据挖掘,数据科学,图像识别(2)企业技术顾问,培训(3)微信:crazygoodluck,email:ybdesireATgmailDOTcom,微信公众号:自动话(说话的话)
    最新评论