鍍金池/ 教程/ Python/ 國際化和本地化
點擊劫持保護
安全問題歸檔
Model 類參考
將遺留數(shù)據(jù)庫整合到Django
關(guān)聯(lián)對象參考
內(nèi)建基于類的視圖的API
聚合
Django 中的用戶認(rèn)證
django.contrib.humanize
Django管理文檔生成器
分頁
使用Django輸出CSV
加密簽名
文件儲存API
安全
Django中的測試
國際化和本地化
為Django編寫首個補丁
條件表達(dá)式
日志
模型元選項
部署靜態(tài)文件
執(zhí)行查詢
使用Django認(rèn)證系統(tǒng)
基于類的視圖
中間件
編寫自定義的django-admin命令
Django 的設(shè)置
格式本地化
數(shù)據(jù)庫訪問優(yōu)化
錯誤報告
基于類的內(nèi)建通用視圖
編寫自定義存儲系統(tǒng)
編寫你的第一個 Django 程序 第3部分
編寫數(shù)據(jù)庫遷移
使用表單
編寫你的第一個 Django 程序 第2部分
編寫你的第一個 Django 程序 第1部分
如何使用會話
系統(tǒng)檢查框架
新手入門
信號
編寫視圖
如何使用WSGI 部署
編寫你的第一個Django應(yīng)用,第6部分
常見的網(wǎng)站應(yīng)用工具
Widgets
內(nèi)建的視圖
模型實例參考
視圖層
Django中的密碼管理
高級教程:如何編寫可重用的應(yīng)用
國際化和本地化
"本地特色"附加功能
TemplateResponse 和 SimpleTemplateResponse
模式編輯器
文件上傳
快速安裝指南
部署 Django
表單 API
表單素材 ( <code>Media</code> 類)
管理文件
其它核心功能
查找 API 參考
表單
Admin
數(shù)據(jù)庫函數(shù)
自定義查找
使用基于類的視圖處理表單
管理操作
開發(fā)過程
編寫你的第一個Django應(yīng)用,第5部分
進行原始的sql查詢
模型層
多數(shù)據(jù)庫
編寫你的第一個 Django 程序 第4部分
Django安全
Django 初探
Django異常
重定向應(yīng)用
按需內(nèi)容處理
管理器
視圖裝飾器
驗證器
使用Django輸出PDF
File對象
Django 的快捷函數(shù)
基于類的通用視圖 —— 索引
為模型提供初始數(shù)據(jù)
模板層
URL調(diào)度器
中間件
模型

國際化和本地化

概述

國際化和本地化的目的就是讓一個網(wǎng)站應(yīng)用能做到根據(jù)用戶語種和指定格式的不同而提供不同的內(nèi)容。

Django 對文本翻譯, 日期、時間和數(shù)字的格式化,以及時區(qū)提供了完善的支持。

實際上,Django做了兩件事:

  • 由開發(fā)者和模板作者指定應(yīng)用的哪些部分應(yīng)該翻譯,或是根據(jù)本地語種和文化進行相應(yīng)的格式化。
  • 根據(jù)用戶的偏好設(shè)置,使用鉤子將web應(yīng)用本地化。

很顯然,翻譯取決于用戶所選語言,而格式化通常取決于用戶所在國家。 這些信息由瀏覽器通過Accept-Language 協(xié)議頭提供。不過確定時區(qū)就不是這么簡單了。

定義

國際化和本地化通常會被混淆,這里我們對其進行簡單的定義和區(qū)分:

國際化

讓軟件支持本地化的準(zhǔn)備工作,通常由開發(fā)者完成。

本地化

編寫翻譯和本地格式,通常由翻譯者完成。

更多細(xì)節(jié)詳見W3C Web Internationalization FAQ、Wikipedia articleGNU gettext documentation。

警告

是否啟用翻譯和格式化分別由配置項USE_I18NUSE_L10N 決定。 但是,這兩個配置項都同時影響國際化和本地化。 這種情況是Django的歷史因素所致。

下面幾項可幫助我們更好地處理某種語言:

本地化名稱

表示地域文化的名稱,可以是 ll 格式的語種代碼,也可以是 ll_CC 格式的語種和國家組合代碼。例如:it, de_AT, es, pt_BR 。語種部分總是小寫而國家部分則應(yīng)是大寫,中間以下劃線(_)連接。

語言代碼

表示語言的名稱。瀏覽器會發(fā)送帶有語言代碼的 Accept-Language HTTP報頭給服務(wù)器。例如:it, de-at, es, pt-br. 語種和國家部分都是小寫,中間以破折線(-)連接。

消息文件

消息文件是純文本文件,包含某種語言下所有可用的翻譯字符串及其對應(yīng)的翻譯結(jié)果。消息文件以 .po 做為文件擴展名。

翻譯字符串

可以被翻譯的文字。

格式文件

針對某個地域定義數(shù)據(jù)格式的Python模塊。

譯者:Django 文檔協(xié)作翻譯小組,原文:Overview。

本文以 CC BY-NC-SA 3.0 協(xié)議發(fā)布,轉(zhuǎn)載請保留作者署名和文章出處。

Django 文檔協(xié)作翻譯小組人手緊缺,有興趣的朋友可以加入我們,完全公益性質(zhì)。交流群:467338606。