立即注册 登录
About云-梭伦科技 返回首页

pig2的个人空间 https://aboutyun.com/?61 [收藏] [复制] [分享] [RSS]

日志

openstack dasboard使用的是什么语言,如何搭建开发环境,如何本地化

已有 4162 次阅读2014-4-11 17:39

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 https://github.com/openstack/horizon.git
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服务。就可以了。

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条