django国际化与html语言,Django 国际化

Django 国际化

Django 支持国际化,多语言。Django的国际化是默认开启的,如果您不需要国际化支持,那么您可以在您的设置文件中设置 USE_I18N = False,那么Django会进行一些优化,不加载国际化支持机制。

NOTE: 18表示Internationalization这个单词首字母I和结尾字母N之间的字母有18个。I18N就是Internationalization(国际化)的意思。

Django 完全支持文本翻译,日期时间数字格式和时区。

本质上讲,Django做了两件事:它允许开发者指定要翻译的字符串

Django根据特定的访问者的偏好设置 进行调用相应的翻译文本。

一,开启国际化的支持,需要在settings.py文件中设置MIDDLEWARE_CLASSES = (

...

'django.middleware.locale.LocaleMiddleware',

)

LANGUAGE_CODE = 'en'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

LANGUAGES = (

('en', ('English')),

('zh-cn', ('中文简体')),

('zh-tw', ('中文繁體')),

)

#翻译文件所在目录,需要手工创建

LOCALE_PATHS = (

os.path.join(BASE_DIR, 'locale'),

)

TEMPLATE_CONTEXT_PROCESSORS = (

...

"django.core.context_processors.i18n",

)

注意:Django 1.9 及以上版本中,语言的代码发生变化(详情链接:github, django ticket,如下LANGUAGES = (

('en', ('English')),

('zh-hans', ('中文简体')),

('zh-hant', ('中文繁體')),

)

二,生成需要翻译的文件(Django 1.8及以下的版本):python manage.py makemessages -l zh-cn

python manage.py makemessages -l zh-tw

Django 1.9 及以上版本要改成python manage.py makemessages -l zh_hans

python manage.py makemessages -l zh_hant

三,手工翻译 locale 中的 django.po此处省去500字

...

#: .\tutorial\models.py:23

msgid "created at"

msgstr "创建于"

#: .\tutorial\models.py:24

msgid "updated at"

msgstr "更新于"

...

此处省去几百字

四,编译一下,这样翻译才会生效python manage.py compilemessages

如果翻译不生效,请检查你的语言包的文件夹是不是有 中划线,请用下划线代替它。

比如 zh-hans 改成 zh_hans (但是要注意 setttings.py 中要用 中划线,不要也改了,就这一句话,你可能会浪费几个小时或几天)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mongo 删除节点_将生产节点/ Express Mongo App部署到AWS —反思

mongo 删除节点在AWS中部署生产Web应用程序的经验教训 (Lessons learned deploying a production web application in AWS) 背景 (Background) This is not a code-based tutorial. It consists of all the things I wish I knew before I started the project and the steps I…

汉诺塔问题递归算法python代码_[python]汉诺塔问题递归实现

一、问题描述及算法步骤 汉诺塔问题的大意是有三根柱子a, b, c,现在a柱有N个盘子从下往上尺寸递减排列,要求: 1. 将a上的盘子移动到c柱上; 2. 每次移动一个盘子; 3. 柱子上的盘子始终必须是大的在下面image.png 汉诺塔问题的经典实现算法步骤…

【硬件】PCB设计步骤

前言 合理的PCB设计步骤,可以减少反复修改的可能性。动手设计PCB前,需要按步就班准备一些资料,即使是小项目。 本文将讲解如何一次性成功地设计一款PCB的常规步骤。 当然,如果是一个系统,则需要按照瀑布式的思路&#…

linux install StarDict

1.  sudo apt-get install stardict 2.  Downloads from: http://abloz.com/huzheng/stardict-dic/zh_CN/ 3.  tar jxf stardict-21shijishuangxiangcidian-2.4.2.tar.bz2 -C /usr/share/stardict/dic (etc other dictionaries)转载于:https://www.cnblogs.com/HurryXin/…

交付方式 saas_我在全职工作时如何交付我的第一个SaaS副项目

交付方式 saasby Tigran Hakobyan由Tigran Hakobyan 我在全职工作时如何交付我的第一个SaaS副项目 (How I shipped my first SaaS side-project while working full-time) This is my personal story of how I shipped my very first SaaS side-project while working full-ti…

nginx搭建基于http协议的视频点播服务器

1,于由自己的服务器上已经安装好nginx(具体安装方法见我的另一篇文章,Linux中安装nginx),所以不再安装。 2,下载nginx_mod_h264_streaming-2.2.7.tar.gz(自己在网上搜吧)。 3,安装pcre,先看有没有安装。 [r…

plsql 批量调存储过程_数控双端开榫机:批量铣榫头真牛气

数控双端开榫机主要用于实木家具批量化铣榫头专用,因为其本身的优势逐渐被家具厂老板们所接受,是目前家具生产不可缺少的一款自动化设备,给企业节约了生产成本,今天又焦峰小编来给大家讲解一下。主要技术参数:知乎视频…

c 向html页面传值,html页面之间的传值,获取元素和方法的调用

这篇文章是自己在项目中遇到,同时参考了网上的资料,作为笔记参考使用一、页面之间的传值1、使用cookie传值封装简单使用://获取cookiefunction getCookie(name){var arr,regnew RegExp("(^| )"name"([^;]*)(;|$)");if(ar…

Codeforces Round #364 (Div. 1) (差一个后缀自动机)

B. Connecting Universities 大意: 给定树, 给定2*k个点, 求将2*k个点两两匹配, 每个匹配的贡献为两点的距离, 求贡献最大值 单独考虑每条边$(u,v)$的贡献即可, 最大贡献显然是左右两侧点的最小值. #include <iostream> #include <algorithm> #include <cstdio&…

Python黑魔法

1. 赋值 In [1]: x 1...: y 21...: print x, y...: ...: x, y y, x...: print x, y 1 21 21 1 2. 列表合并 In [2]: a1 [(2,3),(3,4)]...: a2 [(4,5)]...: a a1 a2...: print a [(2, 3), (3, 4), (4, 5)] 3. 字典合并 方式1: In [3]: d1 {a: 1}...: d2 {b: 2}...: ...…

python时间差怎么转换为数字_pandas进行时间数据的转换和计算时间差并提取年月日...

#pd.to_datetime函数 #读取数据 import pandas as pd data pd.read_csv(police.csv) #将stop_date转化为datetime的格式的dataframe&#xff0c;存到stop_datetime data[stop_datetime] pd.to_datetime(data.stop_date) #自定义一个时间&#xff0c;计算时间差 data_new pd.…

人脸识别html5效果,用HTML5实现人脸识别

注&#xff1a;今天 HTML5 小组沙龙《论道 HTML5 》分享时有朋友问到一个问题&#xff0c; getUserMedia 是否会支持人脸识别&#xff0c;我当时的答案是这应该是应用来实现的功能&#xff0c;而不是规范要完成的工作。而我之前在网上看到过一篇关于 getUserMedia 和人脸识别的…

企业如何寻找最合适的托管数据中心,以维持IT和业务的增长运营

想象一下&#xff0c;当您兴奋地拿了钥匙&#xff0c;走进您刚买的新家时&#xff0c;才突然意识到新家还没通电&#xff0c;互联网宽带也还没有通&#xff0c;而想要找个电工或者别的相关技术支持人员也不见踪影。而且&#xff0c;更糟糕的是&#xff0c;您似乎还听到您附近的…

gt爵士变形步骤_代码广播简介:您可以编码为24/7的爵士节拍

gt爵士变形步骤阅读本文时&#xff0c;您可以继续阅读Code Radio。 (You can go ahead and start listening to Code Radio while you read this) Most developers I know listen to music while they code. When the meetings are over, the headphones come out.我认识的大多…

python3中format方法_[翻译]python3中新的字符串格式化方法-----f-string

从python3.6开始,引入了新的字符串格式化方式,f-字符串. 这使得格式化字符串变得可读性更高,更简洁,更不容易出现错误而且速度也更快. 在本文后面,会详细介绍f-字符串的用法. 在此之前,让我们先来复习一下python中字符串格式化的方法. python中传统的字符串格式化方法. 在pytho…

华为mate40会不会有鸿蒙系统,鸿蒙OS系统正式推送,拿华为Mate40更新后,发现了优缺点...

自从鸿蒙系统正式推送之后&#xff0c;笔者一直都带着好奇心在体验着HarmonyOS 2带来的变化&#xff0c;生怕错过惊喜&#xff0c;也担心系统本身会出现不足。因为鸿蒙系统就像是年轻人一样&#xff0c;才刚刚出炉&#xff0c;需要时间去磨练&#xff0c;然后才能发挥出真正强大…

jstack使用

jstack主要用来查看某个Java进程内的线程堆栈信息&#xff0c;根据堆栈信息我们可以定位到具体代码&#xff0c;所以它在JVM性能调优中使用得非常多&#xff0c;语法格式如下&#xff1a; jstack [option] pid jstack [option] executable core jstack [option] [server-id]rem…

如何使用TensorFlow对象检测API播放Quidditch

by Bharath Raj巴拉斯拉吉(Bharath Raj) 如何使用TensorFlow对象检测API播放Quidditch (How to play Quidditch using the TensorFlow Object Detection API) Deep Learning never ceases to amaze me. It has had a profound impact on several domains, beating benchmarks …

删除目录软链接注意事项

2019独角兽企业重金招聘Python工程师标准>>> 实验环境&#xff1a; 在root 目录下创建一个目录 1 ,并在该目录下创建一个2.txt 的文件&#xff0c;写入内容 1.txt: [rootserver ~]# mkdir 1 [rootserver ~]# echo 1.txt > 1/2.txt [rootserver ~]# tree 1 1 └─…

html如何模拟点击,Javascript 模拟点击事件(点击链接与html点击) 兼容IE/Firefox

一把情况下模拟点击一般两个方面&#xff0c;模拟点击超级连接事件firefox的兼容的函数为对HTMLAnchorElement 加入onclick事件try {// create a element so that HTMLAnchorElement is accessibledocument.createElement(a);HTMLElement.prototype.click function () {if (ty…