國際化與在地化¶
總覽¶
國際化與在地化的目標是允許單一網頁應用程式以符合受眾的語言和格式來提供內容。
Django 完全支援文字翻譯、日期、時間和數字的格式化,以及時區。
基本上,Django 做了兩件事
它允許開發人員和範本作者指定其應用程式的哪些部分應針對當地語言和文化進行翻譯或格式化。
它會使用這些掛勾,根據特定使用者的偏好來本地化網頁應用程式。
翻譯取決於目標語言,而格式化通常取決於目標國家。此資訊由瀏覽器在 Accept-Language
標頭中提供。但是,時區不易取得。
定義¶
「國際化」和「在地化」這兩個詞經常引起混淆;以下是簡化的定義
更多詳細資訊可在W3C Web 國際化常見問題、維基百科文章或GNU gettext 文件中找到。
警告
翻譯由 USE_I18N
設定控制。然而,它牽涉到國際化和在地化。這個設定的名稱是 Django 歷史上的一個不幸結果。
以下是一些其他術語,可協助我們處理通用語言
- 語系名稱¶
語系名稱,可以是
ll
格式的語言規格,也可以是ll_CC
格式的語言和國家/地區組合規格。範例:it
、de_AT
、es
、pt_BR
、sr_Latn
。語言部分一律為小寫。國家/地區部分,若超過 2 個字元則為首字大寫,否則為大寫。分隔符號是底線。- 語言代碼¶
代表語言的名稱。瀏覽器使用這種格式在
Accept-Language
HTTP 標頭中傳送它們接受的語言名稱。範例:it
、de-at
、es
、pt-br
。語言代碼通常以小寫表示,但 HTTPAccept-Language
標頭不區分大小寫。分隔符號是破折號。- 訊息檔案¶
訊息檔案是一個純文字檔案,代表單一語言,其中包含所有可用的翻譯字串以及它們在給定語言中應如何表示。訊息檔案具有
.po
副檔名。- 翻譯字串¶
可以翻譯的文字。
- 格式檔案¶
格式檔案是一個 Python 模組,用於定義給定語系的資料格式。