目录

概述

优质
小牛编辑
129浏览
2023-12-01

概述

国际化和本地化的目的就是让一个网站应用能做到根据用户语种和指定格式的不同而提供不同的内容。

Django 对文本翻译, 日期、时间和数字的格式化,以及时区提供了完善的支持。

实际上,Django做了两件事:

  • 由开发者和模板作者指定应用的哪些部分应该翻译,或是根据本地语种和文化进行相应的格式化。
  • 根据用户的偏好设置,使用钩子将web应用本地化。

很显然,翻译取决于用户所选语言,而格式化通常取决于用户所在国家。 这些信息由浏览器通过Accept-Language 协议头提供。不过确定时区就不是这么简单了。

定义

国际化和本地化通常会被混淆,这里我们对其进行简单的定义和区分:

国际化

让软件支持本地化的准备工作,通常由开发者完成。

本地化

编写翻译和本地格式,通常由翻译者完成。

更多细节详见W3C Web Internationalization FAQWikipedia articleGNU gettext documentation

警告

是否启用翻译和格式化分别由配置项USE_I18NUSE_L10N 决定。 但是,这两个配置项都同时影响国际化和本地化。 这种情况是Django的历史因素所致。

下面几项可帮助我们更好地处理某种语言:

本地化名称

表示地域文化的名称,可以是 ll 格式的语种代码,也可以是 ll_CC 格式的语种和国家组合代码。例如:it, de_AT, es, pt_BR 。语种部分总是小写而国家部分则应是大写,中间以下划线(_)连接。

语言代码

表示语言的名称。浏览器会发送带有语言代码的 Accept-Language HTTP报头给服务器。例如:it, de-at, es, pt-br. 语种和国家部分都是小写,中间以破折线(-)连接。

消息文件

消息文件是纯文本文件,包含某种语言下所有可用的翻译字符串及其对应的翻译结果。消息文件以 .po 做为文件扩展名。

翻译字符串

可以被翻译的文字。

格式文件

针对某个地域定义数据格式的Python模块。

译者:Django 文档协作翻译小组,原文:Overview

本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。

Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。交流群:467338606。

最后更新:

类似资料

  • 本文向大家介绍django1.8使用表单上传文件的实现方法,包括了django1.8使用表单上传文件的实现方法的使用技巧和注意事项,需要的朋友参考一下 Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。 在django中我们可以采用Form类来处理表单

  • 概述 国际化和本地化的目的就是让一个网站应用能做到根据用户语种和指定格式的不同而提供不同的内容。 Django 对文本翻译, 日期、时间和数字的格式化,以及时区提供了完善的支持。 实际上,Django做了两件事: 由开发者和模板作者指定应用的哪些部分应该翻译,或是根据本地语种和文化进行相应的格式化。 根据用户的偏好设置,使用钩子将web应用本地化。 很显然,翻译取决于用户所选语言,而格式化通常取决

  • 本书概述 进程的概念大家都很熟悉,但你是否能准确说出僵尸进程的含义呢?还有 COW(Copy On Write)、Flock(File Lock)、Epoll 和 Namespace 的概念又是否了解过呢? 本书汇集了进程方方面面的基础知识,加上编程实例,保证阅读后能自如地回答以上问题,在项目开发中对进程的优化也有更深的理解。 本书架构 本书按循序渐进的方式介绍进程的基础概念和拓展知识,主要涵盖以

  • Docker在1.12.0和以上版本中增加了swarm模式。通过swarm模式管理的Docker Engines集群称之为“Swarm”。并可以通过Docker CLI来创建Swarm,在Swarm中部署应用服务,以及管理Swarm。 功能特点 在Docker Engines中集成了集群管理功能:通过Docker CLI可以创建一个用来发布应用services的swarm,而不需要安装其他任何额外

  • 这是 Elasticsearch 官方的 PHP 客户端。我们把 Elasticsearch-PHP 设计成低级客户端(低级设计模式),使用时不会偏离 REST API 的用法。 客户端所有方法几乎都与 REST API 对应,而且也与其他编程语言的客户端(如 ruby, python 等)方法结构相似。我们希望这种对应方式可以方便开发者更加容易上手客户端,且以最小的代价快速从一种编程语言转换到另

  • 特点 为什么用 Groovy?