1. 程式人生 > >OpenStack(kilo)介面dashboard的二次開發(四)-國際化

OpenStack(kilo)介面dashboard的二次開發(四)-國際化

openstack介面支援英語、簡體中文、繁體中文等多種語言。使用者可以在使用者設定中進行設定。如果要對openstack進行二次開發,那麼就一定要對介面上的標題、提示的內容等進行修改。

國際化

看下面兩幅圖,分別是簡體中文、English的例項頁面:
這裡寫圖片描述
這裡寫圖片描述
openstack的介面採用的是django的架構,django國際化就是開發者對需要翻譯的字串進行標記,並對相應的字串進行翻譯。
進入/usr/share/openstack-dashboard/openstack_dashboard/dashboards/project/instances目錄,並開啟panel.py:

from django.utils.translation import ugettext_lazy as _

import horizon

from openstack_dashboard.dashboards.project import dashboard


class Instances(horizon.Panel):
    name = _("Instances")
    slug = 'instances'
    permissions = ('openstack.services.compute',)


dashboard.Project.register(Instances)

以上程式碼的結構在博主前面博文中已經進行簡單的說明。這裡看到class Instances,它的name屬性即是上面兩幅圖中箭頭所指顯示的部分。可以看到它是import的django.utils.translation的ugettxt_lazy這個函式,這個函式就可以對其內容進行翻譯。(具體原理博主沒有深入研究,想要知道所以然的朋友可以自行研究學習,該博文僅總結具體方法。)而翻譯的依據則是/usr/share/openstack-dashboard/openstack_dashboard/locale/目錄下的檔案。簡體中文對應的是該目錄下的zh_CN。進入該目錄可以看到一個django.mo檔案,該檔案即是翻譯成簡體中文的核心檔案。mo檔案是不可編輯的檔案,首先得將其反編譯成po檔案。網上有很多的方法,這裡就不再贅述。

開啟生成的django.po檔案,找到instances。
這裡寫圖片描述
為了測試,這裡我把改成“我的例項”,然後編譯成mo檔案,重啟httpd服務。效果圖如下:
這裡寫圖片描述

當然修改標題這些現實問題不止這一種方法,但是這種通過國際化這種方式,相容性更好,便於支援多種語言。
更多精彩文章,請搜尋微信公眾號“扶艾”。我們定期分享OpenStack相關技術文章,在這裡,只有純乾貨
這裡寫圖片描述

相關推薦

OpenStackkilo介面dashboard開發-國際化

openstack介面支援英語、簡體中文、繁體中文等多種語言。使用者可以在使用者設定中進行設定。如果要對openstack進行二次開發,那麼就一定要對介面上的標題、提示的內容等進行修改。 國際化 國際化 看下面兩幅圖,分別是簡體中文、

OpenStackkilo介面dashboard開發-增加Dashboard

前面的博文已經完成了panel與panelgroup的自定義增加,這篇博文將對Dashboard(一級選單)的增加進行一個簡單總結。 增加Dashboard(一級選單) 首先進入/usr/share/openstack-dashbaord/open

56. Python saltstack 開發1

方案 roo 刪除 res salt-run file 並不會 font 第一次 Saltstack簡介Salt 是:一個配置管理系統,能夠維護預定義狀態的遠程節點(比如,確保指定的報被安裝,指定的服務在運行);一個分布式遠程執行系統,用來在遠程節點(可以是單個節點,也可以

57. Python saltstack 開發2

http協議 class 方式 clas 調用 官網 創建 分享 tex 回顧上一節:grains 和 pillar 都是定義他們的屬性的grains 定義在minion端(定義完必須重啟minion,才能生效)pillar 定義在master端(無需重啟即可生效)sal

海康威視網路攝像機 SDK開發JAVA1-開發環境搭建

硬體環境 相關的硬體環境準備:攝像機型號:DS-2CD2T25FD-I3,按照說明書搭建好硬體環境 SDK下載 開發工具:IDEA20173.3 , JDK: 9 官網SDK地址:http://www.hikvision.com/cn/download_61.html

大華門禁SDK開發

專案中需要能夠查詢門禁訊號和控制門禁裝置,因此需要基於大華門禁SDK進行二次開發,開發語言C#。門禁開發中遇到了一些問題,經過與大華技術的郵件溝通也一一解決。做這個開發的時候,發現網上的資料比較少,想著把自己遇到的問題整理下來,讓有需要的人儘量少走一些彎路。 1. 門禁狀態查詢/控制API 門禁控制

大華門禁SDK開發

經過與大華技術支援的溝通,門禁服務程式已經開發好了,可以正常接收門禁開關事件,可以傳送開門命令。基於專案實時性要求,這裡使用SignalR實現門禁狀態、控制命令的實時傳送。 幾種場景需求 根據SignalR的設計規則,Client端可以主動呼叫服務端Hub的多個方法,但是客戶端被動接收訊息的方法只能有一個

架構師實戰培訓架構設計+資料後臺+快速開發+開發+釋出部署

架構師實戰培訓(架構設計+資料後臺+快速開發+二次開發+釋出部署)系列視訊課程  課程目標 學習MIS系統、高併發系統、單機系統設計思路; 理解設計模式,學會命令模式; 適用人群 CIO、CTO、技術總監;架構師、軟體設計師、資料庫設計師; 擁抱新技術的專案經理、產

ApolloStudio高手之路4:用Python以最輕便的方式進行金橙子鐳射打標板卡開發以EzCad2為載體開發

鐳射打標是以高密度、高能量的鐳射束對各種材質媒介(塑料,布匹,金屬,陶瓷等等)進行表面區域性照射加工,使表層材料汽化或發生顏色變化的化學反應,從而留下永久性標記的一種清潔環保的表面加工方法。鐳射打標可以打出各種文字、符號和圖案等,字元大小可以從毫米到微米量級,這對產品的防偽有特殊的意義。正是因為

HTC VIVE Tracker的開發實際操作篇附軟體

HTC VIVE Tracker 作為一款優秀的VR裝置,其有著非常好的定位精度,這時,我們就可以用這一裝置來實現簡單的開發,但是網上眾多的教程中僅僅針對如何顯示資料做了解讀,但是,資料和我們自己編寫的軟體如何互動就成了一個一直困擾開發者的問題,這裡,筆者提出一種解決思路來實

利用lisp進行AutoCAD開發環境說明、檔案讀取、以及表格建立與寫值

今天學習的這個例子是lisp計算機語言程式設計,說到這門計算機語言還是大學的時候接觸的,不過那時候都是停留在瞭解的層面上,後面編寫AutoCAD二次開發程式幾乎是用的是C#。所以對lisp不熟,就別提關於lisp在AutoCAD方面的介面。而今天所以又撿起這麼計算機語言,是出

使用AcrGis進行開發ArcGIS Engine授權及其物件模型介紹

一、ArcGIS Engine對Visual Studio的授權 我們在使用ArcGIS Engine進行二次開發的時候,必須要對VS進行授權,授權包括兩個方面:專案檔案(ArcSDK)授權以及模組授權(使用特定的模組,比如空間分析,網路分析,拓撲分析等需要額外

小飛魚通達開 讓人腦洞大開的工作流開發圖文

今天小飛魚帶給大家的是最近嘗試的一次工作流的新的二次開發模式。這樣的開發模式簡直可以說已經突破了我們對工作流的使用的認識,完全跟使用其他的軟體的模式是一樣的。 下面,就先介紹一下軟體實現的幾個功能點。 1、實現人員、部門資訊的單條選擇 這個功能其實使用工作流本身的功能就

ccflow表結構與執行機制開發必看

馳騁工作流引擎,工作流程管理系統,表結構與執行機制。 ------------------------------------------------------- 前言:       1, ccflow 有自動修復資料表功能, 所以表的欄位的

dede模版引擎開發增加修改顯示

add.php <?php require_once ("../include/common.inc.php");  //這個兩行就是連線資料成功了  $dsql.方法(執行SQL語句完畢); require_once DEDEINC."/arc.partview.

基於redis實現tomcat8的tomcat叢集的session持久化實現tomcat-redis-session-manager開發

前言:本專案是基於jcoleman的tomcat-redis-session-manager二次開發版本1、修改了小部分實現邏輯2、去除對juni.jar包的依賴3、去除無效程式碼和老版本tomcat操作API4、支援tomcat 8 ,更高版本未測試原始碼提供:下載目錄:注

SIM800C的開發EAT開發

連結:https://pan.baidu.com/s/1P7V2OgbjKmuZuKqG8mvlgw  提取碼:u0vy  這是我的資料 上個星期軟體部經理叫我研究下SIM800C的EAT開發,因為AT指令的方式執行速度太慢了。所以我總結下開發過程。 一.將我提供的資

像MIUI一樣做Zabbix開發2——Zabbix與商業及開源產品的比較分析

Zabbix的特點 Zabbix是一個基於WEB介面的提供分散式系統監控的開源解決方案,通過瀏覽器監視,做到告警分級處理、網路訪問安全可控,該開源平臺在全球有廣泛的使用者基礎,他的特點: 開放性:原始碼全公開,任何使用者都可以編譯和釋出自己的版本。同時,社群和網際網路

Revit開發6:Ribbon編輯器開源專案

這是我再github上法相的一個開源專案。 github專案:https://github.com/PrestonII/2013RevitRibbon git地址:https://github.com/PrestonII/2013RevitRibbon.git 簡單

像MIUI一樣做Zabbix開發6——應用場景和規劃

其他使用場景 監控做為一個重要的管理手段,存在很多的使用場景,簡單列舉我們現在碰到的: 1.     系統整合 事件管理流程整合;配置管理整合,自動CI獲取,提高CMDB準確、實時性;知識庫整合,提高知識庫的可持續消費能力 2.     物聯網裝置監控 物聯網裝