Django的文本国际化

1、表示需要翻译的文本:在python原文件和HTML等模板文件中都可以标识需要翻译的文本,在python源文件通过_()或者ueettext()函数表达需要翻译的需求。在模板文件中,用{%trans %}标签表达翻译需求。

2、创建语言文件:语言文件是Django找那个用于保存翻译关系的文件,网站应该为每种支持的语言建立一个语言文件,建立语言文件的方法是在项目根目录中执行如下命令:

django -admin makemessages -l zh_CN

该条命令会在当前目录及子目录的python文件以及模板文件中查找需要翻译的字符串,并将这些字符串放在zh_CN的语言文件中,该文件被命名为django.po。

zh_CN(简体中文),zh_TW(繁体中文)、en(英文)、de(德文)、fr(法文)、ja-jp(日文)

文件中的每条翻译由以下3部分组成:

(1)通过注释表达的该条翻译出现在python源文件或者HTML模板文件中的代码位置

(2)用msgid表达待翻译的文本

(3)用msgstr表达翻译后的文本内容,开发者需要自语言文件生成后逐个配置msgstr的字段。

3、编译语言文件

当完成语言文件的创建及翻译工作后,需要再次调用django-admin命令编译语言文件,使翻译生效

django-admin completesmessages

该条命令将自动搜索项目中所有的.po文件,并将其翻译后生成对应的.mo文件,django框架在运行时使用.mo文件进行网站的国际化翻译。

时间: 2024-11-07 23:00:49

Django的文本国际化的相关文章

django富文本编辑器

-------------------tinymce富文本编辑器1.下载安装 1.在网站pypi网站搜索并下载"django-tinymce-2.4.0" 2.解压:tar zxvf django-tinymce-2.4.0.tar.gz 3.进入解压后的目录,工作在虚拟环境,安装: python setup.py install 2.应用到项目 1.在settings.py中为INSTALLED_APPS添加编辑器应用 INSTALLED_APPS = ( ... 'tinymce'

Django分析之国际化处理

最近在公司终于开始做web开发了,本以为会是简单的首页之类的小规模项目,结果上来就是一个处理大数据分析的项目,一个关于油品分析的系统,不过我接到的第一个任务是做这个网站的国际化处理,虽然项目还没有上线,还差的很多,但是国际化这个东西使用的是Django自带的来处理的,所以在一边写项目的时候就要写好国际化的代码,所以我现在就开始处理我的国际化了. 大家可以在Django Doctment上看官方的说明,我在这里就不复制官方文档了,django框架带有完善的I18N和L10N支持,其实现是基于GNU

IOS开发之国际化篇第三章:故事版文本国际化

在IOS的开发过程中,很多时候组件都是拖拉出来,直接在故事版(storyboard)上直接使用,而并没有做输出关联,或者有些UILabel只做显示,不会进行修改.所以在这种不会在代码中修改的情况下,就需要用到故事版的国际化,如图 在xcode4.5之前,如果做故事版的国际化,是要维护多个storyboard,但在xcode4.5之后,国际化storyboard做国际化,就变成了一个storyboard,多个语言配置文件如图 其中Main.storyboard为真实的故事版文件,Main.stri

django中富文本编辑器KindEditor的基本使用

1.简介: KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框. KindEditor 使用 JavaScript 编写,可以无缝地与 Java..NET.PHP.ASP 等程序集成,比较适合在 CMS.商城.论坛.博客.Wiki.电子邮件等互联网应用上使用 2.主要特点: 快速:体积小,加载速度快 开源:开放源代码,高水平,高品质 底层:内

django 富文本编辑器

创建工程,数据中数据格式设置为 models.TextField() 此时编辑器是普通的文本框. 使用 tinymce 1.安装 django-tinymce pip install django-tinymce 1 2.INSTALLED_APPS 中添加 'tinymce', 3.模型文件中导入包 from tinymce.models import HTMLField 1 4.设置模型成员类型: scontend = HTMLField() 1 5.更改编辑器样式: setting.py文

IOS开发之国际化篇第二章:文本信息国际化

本文是以XCode7.2.1为开发平台 在第一章中,我们基本了解了国际化是怎么一会事,介绍到有3种国际化,接下来的几章就会分别介绍这3种国际化,第一个是文本信息国际化 文本信息国际化包含一下几点 系统按钮和信息国际化 应用名称国际化 程序代码中输出的静态文本国际化 -系统按钮和信息国际化 系统本身会自带一些系统的信息,系统按钮等,这一些系统自带的信息提示,按钮文本都是由Cocoa本身自带的,他们都是统一又系统管理,例如Done在英文环境中是Done,还有系统提示信息,如下图,在不同语言环境系统会

JavaWeb开发——软件国际化(文本元素国际化)

前几天围绕着JDBC编程进行了系统的学习.现在我们对Java程序数据库操作已经是轻车熟路了.也学会了使用各种框架来帮助我们简化编程. 今天是学习计划的第七天,虽然学习热情没有前几天高涨了.但是,写博客总结的习惯应该要坚持下去.废话不多说了. 今天的学习内容是JavaWeb开发--软件国际化. 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化又称为 i18n:internationalization

Django Book

The Django Book 2.0--中文版 第一章:介绍Django 本书所讲的是Django:一个可以使Web开发工作愉快并且高效的Web开发框架. 使用Django,使你能够以最小的代价构建和维护高质量的Web应用. 从好的方面来看,Web 开发激动人心且富于创造性:从另一面来看,它却是份繁琐而令人生厌的工作. 通过减少重复的代码,Django 使你能够专注于 Web 应用上有 趣的关键性的东西. 为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程

《Python高效开发实战:Django、Tornado、Flask、Twisted》PDF+源码

Python高效开发实战 链接:https://pan.baidu.com/s/1udqe8V2QSh0CMTVg2vEblQ  提取码:igo0 ? 作者: 刘长龙出版社: 电子工业出版社出版年: 2016-10页数: 516定价: 89装帧: 平装ISBN: 9787121300103 内容简介  · · · · · · 也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模.通用网络协议.后端并发处理.前端界面设计,在学术研究或工程项目上能独当一面.通过对Python及其周边Web框