diff --git a/README.md b/README.md
index 9ed9950..bc68b72 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,8 @@
 
 ![index](https://raw.githubusercontent.com/apache/incubator-dubbo-ops/develop/doc/images/index.png)
 
+### Service Governance  
+service governance follows the version of Dubbo 2.7, and compatible for Dubbo 2.6, please refer to [here](https://github.com/apache/incubator-dubbo-ops/wiki/The-compatibility-of-service-governance)
 ### Frontend
 
 - [Vue.js](https://vuejs.org) and [Vuetify](https://vuetifyjs.com)
diff --git a/README_ZH.md b/README_ZH.md
index f6879dc..625acfc 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -4,7 +4,7 @@
 [![codecov](https://codecov.io/gh/apache/incubator-dubbo-ops/branch/develop/graph/badge.svg)](https://codecov.io/gh/apache/incubator-dubbo-ops)
 ![license](https://img.shields.io/github/license/apache/incubator-dubbo-ops.svg)
 
-English version goes [here](README.md).
+[English version](README.md).
 ### Demo地址
 * http://47.91.207.147/#/service
 * 该地址是`develop`分支的最新版本，在从源码构建之前，可以先尝试demo
@@ -12,6 +12,8 @@
 
 ![index](https://raw.githubusercontent.com/apache/incubator-dubbo-ops/develop/doc/images/index.png)
 
+### 服务治理  
+服务治理的部分，按照Dubbo 2.7的格式进行配置，同时兼容Dubbo 2.6，详见[这里](https://github.com/apache/incubator-dubbo-ops/wiki/Dubbo-Admin%E6%9C%8D%E5%8A%A1%E6%B2%BB%E7%90%86%E5%85%BC%E5%AE%B9%E6%80%A7%E8%AF%B4%E6%98%8E)
 ### 前端部分
 
 - 使用[Vue.js](https://vuejs.org)作为javascript框架，[Vuetify](https://vuetifyjs.com)作为UI框架
diff --git a/dubbo-admin-frontend/src/components/ServiceDetail.vue b/dubbo-admin-frontend/src/components/ServiceDetail.vue
index 3618c0c..544d556 100644
--- a/dubbo-admin-frontend/src/components/ServiceDetail.vue
+++ b/dubbo-admin-frontend/src/components/ServiceDetail.vue
@@ -236,7 +236,7 @@
         Object.keys(meta).forEach(function (key) {
           let item = {}
           item.value = meta[key]
-          item.name = key.charAt(0).toUpperCase() + key.substr(1)
+          item.name = vm.$t(key)
           vm.basic.push(item)
         })
       }
diff --git a/dubbo-admin-frontend/src/components/ServiceSearch.vue b/dubbo-admin-frontend/src/components/ServiceSearch.vue
index 71c1156..293c6ce 100644
--- a/dubbo-admin-frontend/src/components/ServiceSearch.vue
+++ b/dubbo-admin-frontend/src/components/ServiceSearch.vue
@@ -104,7 +104,7 @@
                         :key="i"
                         :href='governanceHref(item.value, props.item.service, props.item.group, props.item.version)'
                       >
-                        <v-list-tile-title>{{ item.title }}</v-list-tile-title>
+                        <v-list-tile-title>{{ $t(item.title) }}</v-list-tile-title>
                       </v-list-tile>
                     </v-list>
                   </v-menu>
@@ -127,22 +127,22 @@
         {id: 2, title: 'app', value: 'application'}
       ],
       options: [
-        { title: 'Routing Rule',
+        { title: 'routingRule',
           value: 'routingRule'
         },
-        { title: 'Tag Rule',
+        { title: 'tagRule',
           value: 'tagRule'
         },
-        { title: 'Dynamic Config',
+        { title: 'dynamicConfig',
           value: 'config'
         },
-        { title: 'Access Control',
+        { title: 'accessControl',
           value: 'access'
         },
-        { title: 'Weight Adjust',
+        { title: 'weightAdjust',
           value: 'weight'
         },
-        { title: 'Load Balance',
+        { title: 'loadBalance',
           value: 'loadbalance'
         }
       ],
@@ -159,7 +159,7 @@
     }),
     computed: {
       queryBy () {
-        return 'by ' + this.$t(this.items[this.selected].title)
+        return this.$t('by') + this.$t(this.items[this.selected].title)
       },
       hint () {
         if (this.selected === 0) {
@@ -245,7 +245,7 @@
         return '#/serviceDetail?' + query
       },
       governanceHref: function (type, service, group, version) {
-        let base = '/#/governance/' + type
+        let base = '#/governance/' + type
         let query = service
         if (group !== null) {
           query = group + '/' + query
diff --git a/dubbo-admin-frontend/src/components/governance/AccessControl.vue b/dubbo-admin-frontend/src/components/governance/AccessControl.vue
index 0b5f3c2..054cbc4 100644
--- a/dubbo-admin-frontend/src/components/governance/AccessControl.vue
+++ b/dubbo-admin-frontend/src/components/governance/AccessControl.vue
@@ -16,10 +16,8 @@
   -->
 
 <template>
-  <v-container grid-list-xl
-               fluid>
-    <v-layout row
-              wrap>
+  <v-container grid-list-xl fluid>
+    <v-layout row wrap>
       <v-flex lg12>
         <v-card flat color="transparent">
           <v-card-text>
@@ -32,7 +30,7 @@
                   append-icon=""
                   hide-no-data
                   :suffix="queryBy"
-                  :label="$t('searchRoutingRule')"
+                  :label="$t('searchAccessRule')"
                 ></v-combobox>
                 <v-menu class="hidden-xs-only">
                   <v-btn slot="activator" large icon>
@@ -463,7 +461,7 @@
   },
   computed: {
     queryBy () {
-      return 'by ' + this.$t(this.items[this.selected].title)
+      return this.$t('by') + this.$t(this.items[this.selected].title)
     }
   },
   watch: {
diff --git a/dubbo-admin-frontend/src/components/governance/LoadBalance.vue b/dubbo-admin-frontend/src/components/governance/LoadBalance.vue
index 6a1eb56..4d5d765 100644
--- a/dubbo-admin-frontend/src/components/governance/LoadBalance.vue
+++ b/dubbo-admin-frontend/src/components/governance/LoadBalance.vue
@@ -112,7 +112,7 @@
     <v-dialog   v-model="dialog" width="800px" persistent >
       <v-card>
         <v-card-title class="justify-center">
-          <span class="headline">Create New LoadBalance Rule</span>
+          <span class="headline">{{$t('createNewLoadBalanceRule')}}</span>
         </v-card-title>
         <v-card-text >
           <v-text-field
@@ -441,7 +441,7 @@
     },
     computed: {
       queryBy () {
-        return 'by ' + this.$t(this.items[this.selected].title)
+        return this.$t('by') + this.$t(this.items[this.selected].title)
       }
     },
     watch: {
diff --git a/dubbo-admin-frontend/src/components/governance/Overrides.vue b/dubbo-admin-frontend/src/components/governance/Overrides.vue
index 9b51345..3861dfa 100644
--- a/dubbo-admin-frontend/src/components/governance/Overrides.vue
+++ b/dubbo-admin-frontend/src/components/governance/Overrides.vue
@@ -428,7 +428,7 @@
     },
     computed: {
       queryBy () {
-        return 'by ' + this.$t(this.items[this.selected].title)
+        return this.$t('by') + this.$t(this.items[this.selected].title)
       }
     },
     watch: {
diff --git a/dubbo-admin-frontend/src/components/governance/RoutingRule.vue b/dubbo-admin-frontend/src/components/governance/RoutingRule.vue
index 97ef8cc..68bc7c0 100644
--- a/dubbo-admin-frontend/src/components/governance/RoutingRule.vue
+++ b/dubbo-admin-frontend/src/components/governance/RoutingRule.vue
@@ -436,7 +436,7 @@
     },
     computed: {
       queryBy () {
-        return 'by ' + this.$t(this.items[this.selected].title)
+        return this.$t('by') + this.$t(this.items[this.selected].title)
       }
     },
     watch: {
diff --git a/dubbo-admin-frontend/src/components/governance/TagRule.vue b/dubbo-admin-frontend/src/components/governance/TagRule.vue
index 19242fe..e776576 100644
--- a/dubbo-admin-frontend/src/components/governance/TagRule.vue
+++ b/dubbo-admin-frontend/src/components/governance/TagRule.vue
@@ -155,7 +155,7 @@
         ]
       },
       submit: function () {
-        this.filter = document.querySelector('#serviceSearch').value.trim()
+        this.filter = this.filter.trim()
         this.search(this.filter, true)
       },
       search: function (filter, rewrite) {
diff --git a/dubbo-admin-frontend/src/components/governance/WeightAdjust.vue b/dubbo-admin-frontend/src/components/governance/WeightAdjust.vue
index 60515cd..1eccdf6 100644
--- a/dubbo-admin-frontend/src/components/governance/WeightAdjust.vue
+++ b/dubbo-admin-frontend/src/components/governance/WeightAdjust.vue
@@ -417,7 +417,7 @@
     },
     computed: {
       queryBy () {
-        return 'by ' + this.$t(this.items[this.selected].title)
+        return this.$t('by') + this.$t(this.items[this.selected].title)
       }
     },
     watch: {
diff --git a/dubbo-admin-frontend/src/components/public/Toolbar.vue b/dubbo-admin-frontend/src/components/public/Toolbar.vue
index edb9143..66fdd35 100644
--- a/dubbo-admin-frontend/src/components/public/Toolbar.vue
+++ b/dubbo-admin-frontend/src/components/public/Toolbar.vue
@@ -28,8 +28,10 @@
       hide-details
       solo-inverted
       prepend-inner-icon="search"
-      :label="$t('search')"
+      :label="$t('serviceSearch')"
       class="hidden-sm-and-down"
+      v-model="global"
+      @keyup.enter="submit"
     >
     </v-text-field>
 
@@ -96,6 +98,7 @@
     name: 'toolbar',
     data: () => ({
       selectedLang: '',
+      global: '',
       lang: [
         '简体中文',
         'English'
@@ -128,6 +131,15 @@
       ]
     }),
     methods: {
+      submit () {
+        if (window.location.href.includes('#/service')) {
+          window.location.href = '#/service?filter=' + this.global + '&pattern=service'
+          window.location.reload()
+        } else {
+          window.location.href = '#/service?filter=' + this.global + '&pattern=service'
+        }
+        this.global = ''
+      },
       handleDrawerToggle () {
         window.getApp.$emit('DRAWER_TOGGLED')
       },
diff --git a/dubbo-admin-frontend/src/lang/en.js b/dubbo-admin-frontend/src/lang/en.js
index 0dd6d94..593206c 100644
--- a/dubbo-admin-frontend/src/lang/en.js
+++ b/dubbo-admin-frontend/src/lang/en.js
@@ -15,7 +15,8 @@
  * limitations under the License.
  */
 export default {
-  serviceSearch: 'Service Search',
+  service: 'Service',
+  serviceSearch: 'Search service name',
   serviceGovernance: 'Service Governance',
   routingRule: 'Condition Rule',
   tagRule: 'Tag Rule',
@@ -56,11 +57,13 @@
   createNewTagRule: 'Create New Tag Rule',
   createNewDynamicConfigRule: 'Create New Dynamic Config Rule',
   createNewWeightRule: 'Create New Weight Rule',
+  createNewLoadBalanceRule: 'Create new load balancing rule',
   serviceIdHint: 'Service ID',
   view: 'View',
   edit: 'Edit',
   delete: 'Delete',
   searchRoutingRule: 'Search Routing Rule',
+  searchAccess: 'Search Access Rule',
   searchWeightRule: 'Search Weight Adjust Rule',
   dataIdHint: 'A service ID in form of group/service:version, group and version are optional',
   agree: 'Agree',
@@ -69,7 +72,7 @@
   appNameHint: 'Application name the service belongs to',
   basicInfo: 'BasicInfo',
   metaData: 'MetaData',
-  searchDubboService: 'Search Dubbo Services',
+  searchDubboService: 'Search Dubbo Services or applications',
   serviceSearchHint: 'Service ID, org.apache.dubbo.demo.api.DemoService, * for all services',
   ipSearchHint: 'Find all services provided by the target server on the specified IP address',
   appSearchHint: 'Input an application name to find all services provided by one particular application, * for all',
@@ -96,5 +99,20 @@
     metrics: 'Metrics will release later',
     serviceTest: 'Service Test will release later',
     serviceMock: 'Service Mock will release later'
+  },
+  by: 'by ',
+  $vuetify: {
+    dataIterator: {
+      rowsPerPageText: 'Items per page:',
+      rowsPerPageAll: 'All',
+      pageText: '{0}-{1} of {2}',
+      noResultsText: 'No matching records found',
+      nextPage: 'Next page',
+      prevPage: 'Previous page'
+    },
+    dataTable: {
+      rowsPerPageText: 'Rows per page:'
+    },
+    noDataText: 'No data available'
   }
 }
diff --git a/dubbo-admin-frontend/src/lang/zh.js b/dubbo-admin-frontend/src/lang/zh.js
index 85186ee..fc28529 100644
--- a/dubbo-admin-frontend/src/lang/zh.js
+++ b/dubbo-admin-frontend/src/lang/zh.js
@@ -15,6 +15,7 @@
  * limitations under the License.
  */
 export default {
+  service: '服务',
   serviceSearch: '服务查询',
   serviceGovernance: '服务治理',
   routingRule: '条件路由',
@@ -56,11 +57,13 @@
   createNewTagRule: '创建新标签规则',
   createNewDynamicConfigRule: '创建新动态配置规则',
   createNewWeightRule: '新建权重规则',
+  createNewLoadBalanceRule: '新建负载均衡规则',
   serviceIdHint: '服务名',
   view: '查看',
   edit: '编辑',
   delete: '删除',
   searchRoutingRule: '搜索路由规则',
+  searchAccessRule: '搜索黑白名单',
   searchWeightRule: '搜索权重调整规则',
   dataIdHint: '组/服务：版本形式的服务ID，组和版本可选',
   agree: '同意',
@@ -69,7 +72,7 @@
   appNameHint: '服务所属的应用名称',
   basicInfo: '基础信息',
   metaData: '元数据',
-  searchDubboService: '搜索Dubbo服务',
+  searchDubboService: '搜索Dubbo服务或应用',
   serviceSearchHint: '服务ID, org.apache.dubbo.demo.api.DemoService, * 代表所有服务',
   ipSearchHint: '在指定的IP地址上查找目标服务器提供的所有服务',
   appSearchHint: '输入应用名称以查找由一个特定应用提供的所有服务, * 代表所有',
@@ -96,5 +99,20 @@
     metrics: 'Metrics会在后续版本中发布，敬请期待',
     serviceTest: '服务测试会在后续版本中发布，敬请期待',
     serviceMock: '服务Mock会在后续版本中发布，敬请期待'
+  },
+  by: '按',
+  $vuetify: {
+    dataIterator: {
+      rowsPerPageText: '每页记录数：',
+      rowsPerPageAll: '全部',
+      pageText: '{0}-{1} 共 {2} 条',
+      noResultsText: '没有找到匹配记录',
+      nextPage: '下一页',
+      prevPage: '上一页'
+    },
+    dataTable: {
+      rowsPerPageText: '每页行数：'
+    },
+    noDataText: '无可用数据'
   }
 }
diff --git a/dubbo-admin-frontend/src/main.js b/dubbo-admin-frontend/src/main.js
index f323034..3a96519 100644
--- a/dubbo-admin-frontend/src/main.js
+++ b/dubbo-admin-frontend/src/main.js
@@ -27,7 +27,11 @@
 import { AXIOS } from './components/http-common'
 import i18n from './lang'
 
-Vue.use(Vuetify)
+Vue.use(Vuetify, {
+  lang: {
+    t: (key, ...params) => i18n.t(key, params)
+  }
+})
 Vue.use(Notify)
 
 Vue.prototype.$axios = AXIOS
