国际化和本地化¶
概述¶
国际化和本地化的目标是允许单个Web应用程序以针对观众定制的语言和格式提供其内容。
Django完全支持 翻译文本,格式化日期,时间和数字 和 时区。
基本上,Django做了两件事:
它允许开发人员和模板作者指定他们的应用程序的哪些部分应翻译或格式化为本地语言和文化。
它使用这些钩子根据他们的偏好为特定用户本地化Web应用程序。
显然,翻译取决于目标语言,并且格式化通常取决于目标国家。此信息由 Accept-Language
标题中的浏览器提供。然而,时区不容易获得。
定义¶
“国际化”和“本地化”一词常常造成混乱;这里有一个简化的定义:
- 国际化
准备软件进行本地化。通常由开发人员完成。
- 本土化
编写翻译和本地格式。通常由翻译者完成。
更多细节可以在 W3C Web Internationalization FAQ,Wikipedia article 或 GNU gettext documentation 中找到。
这里有一些其他术语,将帮助我们处理一种共同的语言:
- 区域设置名称
语言环境名称,即
ll
格式的语言规范或ll_CC
格式的组合语言和国家规范。实例:it
,de_AT
,es
,pt_BR
。语言部分始终为小写,国家部分为大写。分隔符是下划线。- 语言代码
表示语言的名称。浏览器使用此格式发送在
Accept-Language
HTTP标头中接受的语言的名称。示例:it
,de-at
,es
,pt-br
。语言代码通常以小写形式表示,但HTTPAccept-Language
头部不区分大小写。分隔符是破折号。- 消息文件
消息文件是一个纯文本文件,表示单一语言,包含所有可用的 翻译字符串 以及如何以给定语言表示它们。消息文件具有
.po
文件扩展名。- 翻译字符串
一个可以翻译的文字。
- 格式文件
格式文件是一个Python模块,用于定义给定语言环境的数据格式。