国际化和本地化的目的就是让一个网站应用能做到根据用户语种和指定格式的不同而提供不同的内容。
Django对 文本翻译, 格式化日期,时间和数字, 时区 提供了完善的支持。
实际上,Django做了两件事:
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
. 语种和国家部分都是小写,中间以破折线(-)连接。.po
做为文件扩展名。Jul 07, 2017