- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Horizon二次开发常用修改方法
Horizon汉化与订制一、环境简介整个平台名称为Havstack:Control节点:包含全部服务,keystone、mysql、vlan、rabbitmq、glance、openvswitch、neutron、kvm、cinder和horizon。Compute节点:仅包含计算所需服务,vlan、nova、kvm、openvswitch和neutron-agent。二、Horizon汉化与完善1、Django国际化简介Django 国际化的本质就是开发者对需要翻译的字符串进行标记,并对字符串进行相应的翻译。当用户访问该Web时,Django 内部框架根据用户使用偏好进行Web 呈现。Django 国际化使用的翻译模块是Python 自带的gettext标准模块。其中,主要的4个翻译字符串的函数为:django.utils.translation.ugettext() :指定一个翻译字符串,一般都用于views.py。django.utils.translation.gettext_noop() :标记一个不需要立即翻译的字符串。这个串会稍后从变量翻译。使用这种方法的环境是,有字符串必须以原始语言的形式存储(如储存在数据库中的字符串)而在最后需要被翻译出来(如显示给用户时)。django.utils.translation.gettext_lazy() :将字符串作为惰性参照存储,而不是实际翻译 , 一般会用于models.py。翻译工作将在字符串在字符串上下文中被用到时进行,比如在Django 管理页面提交模板时。在Django模型中总是无一例外的使用惰性翻译。django.utils.translation.ungettext() :函数包括三个参数:单数形式的翻译字符串,复数形式的翻译字符串,和对象的个数(将以count 变量传递给需要翻译的语言)。2、Horizon汉化步骤由于Horizon汉化并不完全,而且很多地方翻译不合理,同时Havstack在于创建桌面云,而OpenStack的主旨是创建服务器虚拟化,所以我们有必要对OpenStack中很多地方进行重新汉化。汉化步骤:1)将Control节点:/usr/share/openstack-dashboard/openstack_dashboard/locale/zh_CN/LC_MESSAGES/目录下的django.po和django.mo进行备份。2)直接编辑django.po文件,该文件内容类似于#: views.py:12msgid Mondaymsgstr 星期一#为前缀的行起注释作用,并指示出待翻译的文件所在的具体位置。msgid是在源文件中出现的待翻译字符串。msgstr是相应语言的翻译结果,注意语句前后都有引号。我们所需要修改的就是msgstr后面的内容,最后保存即可。3)安装软件gettext。然后执行指令:msgfmt --statistics --verbose -o django.mo django.po重新生成django.mo文件,该文件即为Horizon所用的信息文件。4)之后执行命令:ln -s /usr/share/pyshared/horizon/locale/zh_CN/LC_MESSAGES/django.mo /usr/lib/python2.7/dist-packages/horizon/locale/zh_CN/LC_MESSAGES/django.mo生成django.mo文件的软连接。5)最后重启apache2服务即可在Horizon上看到修改的效果。service apache2 restart三、Horizon界面图标修改需要修改的部分大致分为三个部分:登录界面,主界面和状态栏。登录界面登录界面图标位于:/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/logo.png相应的配置文档为:/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/less/horizon.less有两种修改方式,第一种为直接替换掉logo.png,第二种是修改horizon.less文件中的background: url(/static/dashboard/img/logo.png) 语句,将地址修改为新图标的地址。主页面主界面图标位于:/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/ logo-splash.png相应的配置文档为:/usr/share/openst
文档评论(0)