Python Django 開發多語系(i18n)的方式

在網路上,有很多 Linux 開發 Django 的資料
在這裡就寫一個Windows使用的
其實方式差不多,只是小弟比較笨
所以紀錄的我的解決方式

目前環境: Windows 7 x64
使用: Python 2.7 / Django 1.2 / Google App Engine

步驟:

(1) 我先假設你的專案目錄長相如此

css => 放CSS檔案的位置
images => 放圖檔的位置
js => 放Javascript的位置
templates => 放樣板的位置

(2) 首先,開啟 setting.py

● 尋找 LANGUAGE_CODE 及 USE_I18N,如果沒有此變數,必須要手動增加
└ 找到 LANGUAGE_CODE,並確認是設定為 zh_TW
LANGUAGE_CODE = 'zh_TW'
└ 找到 USE_I18N,並確認設定為 True
USE_I18N = True

(3) 建立語系資料夾 locale

● 請注意,此語系資料夾是固定名稱,不可修改
└ 在專案目錄下建立資料夾【locale】
話說我就是因為把 locale 打成 local,所以造成我的失敗次數增加…
└ 建立完成後,你的目錄會長成這樣 (locale目錄下目前是空的)

(4) 讓 django-admin 幫你建立 I18N

└ 開啟 Command(CMD) 命令提示字元,利用【cd】指令至你的專案目錄資料夾 X:\..\appsgoo_engine\ 底下
└ 輸入 django-admin.py makemessages -l zh_TW
● 此時CMD訊息會出現 processing language zh_TW,並在 appsgoo_engine\locale 底下自動產生資料夾 zh_TW\LC_MESSAGES

(5) 修改資料夾中的 django.po

└ django.po 這個檔案就是增加語系變數的地方
└ 修改及增加範例文字,這是原本的樣子

└ 在這裡,有分兩種標籤變數,分別是【msgid】及【msgstr】,我們從字義上就可以知道,一個是代表編號、一個是字串
└ 我們先在”My Message”這裡的str改為”我的訊息”,並且在下方增加一個標籤”appsGoo”,他的str設定為”奧義資訊股份有限公司”

(6) 讓Django編譯訊息檔案,產生django.mo

└ 開啟 Command(CMD) 命令提示字元,利用【cd】指令至你的專案目錄資料夾 X:\..\appsgoo_engine\ 底下
└ 輸入 django-admin.py compilemessages -l zh_TW
└ 接著會產生 django.mo 檔案,代表編譯完成

(7) 重新執行伺服器

└ 顧名思義,就是要重新執行runserver,
└ 每次新建立語系標籤,執行步驟【重新啟動伺服器 -> 在HTML增加語系標籤 -> 成功】

相連文章

臉書留言