轉:openstack dasboard使用的是什麼語言,如何搭建開發環境,如何本地化

luckyfriends發表於2017-01-10
http://www.aboutyun.com/blog-61-64.html
1.openstack dasboard是用什麼語言開發的,使用的是什麼框架?
openstack的dashboard採用的是django架構。
django是python的一個web開發框架




2.如何構建openstack-dashboard開發環境
搭建dashboard開發環境
以下全是普通使用者身份執行
在執行controller的節點(dashboard的節點)上進行以下操作。


原理,強大的Django本身提供了Web伺服器構架的功能。開發環境測試,不是用修改正常的dashboard。
dashboard作為開發測試,提供了開發環境大搭建的指令碼方法。


這個其實就是web伺服器簡單的配置。在一個節點上配置多個不同url,
通常有兩種方法:
一是基於IP的 使用多個IP地址,因為linux可以設定一個網路卡多個IP。
二是基於埠的  不同的url使用不同的埠,這就是本文采用的方法。
主要步驟為搭建環境,配置接入引數,執行服務。
A、準備
cd ~
pwd
/home/clw
mkdir github
cd github
git clone
cd horizon
git pull
cd ~
mkdir src 
cd src
cp -r ~/github/horizon  src/
cd src/horizon
cp   ~/src/horizon/openstack_dashboard/local/local_settings.py.example  ~/src/horizon/openstack_dashboard/local/local_settings.py
B、搭建一個環境
cd  ~/src/horizon
sudo python tools/install_venv.py
source .venv/bin/activate
python manage.py runserver 0.0.0.0:8080
在執行runserver 服務後,在伺服器的後臺就執行了一個服務。
在本地就可以透過瀏覽器中輸入192.168.1.125:8080
使用者名稱admin
密碼openstack登入
瀏覽器一定要使用支援html5的瀏覽器,推薦使用最新firefox和chrome ,IE9相容性還是很不好。




3.openstack dashboard的漢化
openstack的dashboard在語言設定欄裡有多種語言可選,雖然有簡體中文選項,但是它的漢化基本沒有完成。openstack的dashboard採用的是django架構。
django 國際化的本質就是開發者對需要翻譯的字串進行標記,並對字串進行相應的翻譯。具體操作是:
1、建立locale目錄,
2、然後django-admin.py makemessages -l zh_CN,生成locale/zh_CN/LC_MESSAGES/django.po 檔案。在這個po檔案裡對英文進行翻譯。
不過對於openstack的dashboard,它已經有po檔案了,我們只需直接編輯po檔案就行了。
我是用apt-get方式安裝的,直接編輯/usr/share/pyshared/horizon/locale/zh_CN/LC_MESSAGES/django.po檔案。




#: settings.py:136
msgid "English"
msgstr "英語"


#: settings.py:137
msgid "Italiano"
msgstr ""


po檔案內容如上,msgid是原始檔中出現的翻譯字串。msgstr 是相應語言的翻譯結果。注意語句前後都有引號。 剛建立時 msgstr 是空字串,需要翻譯人員翻譯。


翻譯好後,編譯po檔案,


msgfmt --statistics --verbose -o django.mo django.po


在po檔案的目錄下會生成一個同名的mo檔案。然後在 /usr/lib/python2.7/dist-packages/horizon/locale/zh_CN/LC_MESSAGES下建立mo檔案的軟連結:


cd /usr/lib/python2.7/dist-packages/horizon/locale/zh_CN/LC_MESSAGES 


ln -s /usr/share/pyshared/horizon/locale/zh_CN/LC_MESSAGES/django.mo django.mo


重啟apche2服務。就可以了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14710393/viewspace-2132211/,如需轉載,請註明出處,否則將追究法律責任。

相關文章