1)效果:針對不一樣的國家的人能夠配置不一樣的語言(通常是英文和中文, English Chinese)前端
2)目的:增長項目的用戶量
python
3)難度:不難 比較費勁的就是翻譯django
1)安裝gettext這個工具,搜索這個安裝包下載地址http://www.gnu.org/software/gettext/下載以後安裝便可
工具
2)測試是否安裝成功 測試
打開終端 輸入 gettext --version 若是成功應該會提示spa
若是提示'不是內部或外部命令',須要手動添加環境變量翻譯
3)配置項目 在settings.py中
code
1. 找到settings.py,在MiddleWare中添加一句 'django.middleware.locale.LocaleMiddleware', 2. 在配置文件中添加要國際化的語言 LANGUAGES = ( ('en-us', ('英文')), ('zh-hans', (u"中文")), ) 3. 配置國際化文件的路徑 LOCALE_PATHS = ( os.path.join(BASE_DIR, 'locale'), ) 4. 配置模板上下文,在'context_processors'下面添加 'django.template.context_processors.i18n',
4) 開始國際化blog
1. 在須要國際化的地方導入一個包 from django.utils.translation import gettext_lazy as _ 2. 在須要國際化的地方使用 _()進行國際化 例如 _(u"登陸") 3. 若是網頁中也有中文, 前端/網頁須要配置網頁前面加載一個i18n {% load i18n %} 修改中文的部分爲 <h1>{{ _('歡迎登陸') }}</h1> 或 <h1>{% trans '歡迎登陸' %}</h1> 兩個寫法等價
5) 生成國際化文件(注意:若是語言中是橫崗,要改成下劃線)get
在 django 下方的 Terminal 中輸入
#生成英文 python manage.py makemessages -l en_us #生成中文 python manage.py makemessages -l zh_hans
若是提示 'make sure you have GNU gettext tools 0.15 or newer ***', 就關掉pycharm從新打開
項目中應該會生成一個locale文件夾,裏面有對應的文件打開裏面的 ****.po 文件,對裏面的內容進行翻譯
6) 翻譯完畢之後對po文件進行編譯,不然無法國際化
python manage.py compilemessages
按照以上步驟執行就完成了