在web開發中經常會根據不同語言地區的使用者顯示不同的頁面,或者你想集中管理你的頁面提示或警告資訊,這種情況下,我們一般都回利用一些系統自身的國際化功能來完成這個工作。
下面我會用很簡潔的方式一步一步從建立乙個專案開始,描述如何在django中使用國際化功能。在開始之前,先說說開發環境:winxppro+sp2+python2.5+django0.96,另下面的很多django命令都在django安裝根目錄的bin下,請事先設定好路徑方便使用。
第一步: 建立乙個專案
使用django-admin.py startproject djtest建立專案;
第二步: 建立應用 使用
第三步: 修改配置檔案
在djtest目錄下,更改settings.py,修改database_enginedatabase_namedatabase_userdatabase_password,這幾個引數值隨便設定吧,但是要保證能夠鏈結上資料庫,否則後面django自帶的測試伺服器啟動不了,並且一訪問就報錯 :),此外再設定use_i18n =true;
第四步: 配置urls.py
在urlpatterns中增加一行(r'^international/test/', 'djtest.international.views.test')
第五步: 寫乙個簡單的處理函式
開啟views.py,新增如下**
python **
from django.shortcuts import render_to_response
def test(request):
return render_to_response('international/test.html')
第六步: 寫乙個簡單的模板檔案
在djtest目錄下建立乙個templates/
international目錄,並在該目錄下建立乙個test.html模板檔案,主要加入下面兩行(詳細請看上傳的原始碼):
第七步: 建立包含國際化文字串的檔案
在djtest目錄下,首先建立目錄locale,敲入命令make-messages.py -l zh_cn命令在djtest下的locale/
zh_cn/lc_messages下生成檔案django.po,該檔案為剛剛敲入的命令遍歷djtest下的源**和模板目錄後生成的,所以開啟這個檔案,你會找到這樣兩行:
**msgid "hello test"
msgstr "中文測試"
在msgstr的雙引號內寫入自己想要表達的字串即可,比如"中文測試",並將該django檔案儲存為utf-8格式,在windows下最好不要帶bom。
然後我們在djtest下,再敲入命令make-messages.py -l en命令在djtest下的locale/en/lc_messages下生成檔案django.po,然後我們做同樣的處理,只不過把msgstr的內容寫成"english test",也將該檔案儲存為無bom的utf-8格式。
請注意,每個.po檔案都請將
content-type: text/plain; charset設定為utf-8;
第八步: 編譯.po檔案
在djtest目錄下,敲入命令compile-messages.py該命令會為每乙個.po檔案生成.mo檔案,供django使用;
第九步: 設定settings.py檔案 在
language_code = 'zh-cn'
第十步: 啟動django的測試伺服器
在djtest目錄下,敲入命令manage.py runserver,然後訪問
http://localhost:8000/international/test/瀏覽效果,更改settings.py中的language_code = 'en', 你就可以看到英文的訊息。
Vue中的國際化
單純記錄使用過程中遇到的問題,基礎的用法看官網的就行了官網位址 1.script標籤裡面使用國際化,例如在methods裡面使用 methods 在html標籤屬性中使用,例如在placeholder中使用 type lock lock password text placeholder t log...
IOS中的國際化 一
開啟這個工程你可以當看到如下的乙個介面 然後點開storyboard,你會發現裡面的控制項都非常簡單。為了國際話,我們需要往專案中再新增一門語言。新增語言的方式是,project info localizations點選 來新增相應語言,這裡我們選擇chinese simplified 簡體中文。然...
實踐 Django 的 i18n(國際化)
我的開發機器系統是 windows xp.1.cygwin 當前版本 1.5.24 2 這個安裝了發現是個模擬 linux 的 shell 一樣的東西,還不知道怎麼用,後來好像也沒用上。2.gettext gettext runtime 0.13.1.bin.woe32.zip gettext to...