[假設]
- 環境:Ubuntu, django 1.0.2
- 已經建立一個 project : myProject
- 已經建立一個 app: myMessage
- 已經建立 myMessage 的 index.html 於 templates 目錄下
myProject
myProject/myMessage
myProject/templates/myMessage
myProject/templates/myMessage/index.html
[設定]
編輯 settings.py,確定有下列設定
#LANGUAGE_CODE = 'en'
LANGUAGE_CODE = 'zh-tw'
USE_I18N = True
建立語系存放目錄 locale
mkdir myProject/locale
[標示需要翻譯訊息]
編輯 myProject/templates/myMessage/index.html,加入以下 tags
{% load i18n %}
{% trans 'My Message' %}
[建立相對的語系檔案]
確定在 project 目錄下,執行 makemessages 的指令。若有錯誤訊息,表示需要的 libraries 有缺少,依訊息指示安裝。
cd myProject
django-admin makemessages -l zh_TW
[翻譯訊息]
於語系目錄中編輯 django.po,可找到之前標示要翻譯的訊息,在相對 msgid 下的 msgstr 填入要翻譯的訊息
cd myProject使用 compilemessages 指令編譯訊息檔,會產生 django.mo
vi locale/zh_TW/LC_MESSAGES/django.po
msgid "My Message"
msgstr "我的訊息"
django-admin compilemessages -l zh_TW重啟 server
./manage.py runserver[完成]
連上 index.html
應可看到 My Message 已被翻譯為 "我的訊息"
以此類推,可將你 django 的 templates 中需要翻譯的訊息,按此方式,進行多國語言化。
[參考資源]
沒有留言:
張貼留言