vue後臺管理添加多語言功能的實現示例

在這傢公司一個項目, 需要添加英文版本,就是中英文化瞭,直接上代碼

1.首先是main.js頁面做配置

import VueI18n from 'vue-i18n'
Vue.use(VueI18n) // 通過插件的形式掛載
const i18n = new VueI18n({
    //locale: 'zh-CN',    // 語言標識
    locale: 'Chinese',    // 語言標識
    //this.$i18n.locale // 通過切換locale的值來實現語言切換
    messages: {
      'Chinese': require('./common/lang/zh'),   // 中文語言包
      'English': require('./common/lang/en')    // 英文語言包
    },
    //隱藏警告
    silentTranslationWarn: true
})

new Vue({
  el: '#app',
  router,
  i18n,
  components: { App },
  template: '<App/>'
})

2.配置相應路徑下的語言包,在這兒隻顯示部分代碼,需要什麼在這兒添加什麼即可

en.js
export const m = { 
    deviceCode: 'Device Code',//設備編碼
    deviceName: 'Device Name',//設備名稱
    deviceType: 'Device Type',//設備類型
    denial: 'Denial',//拒止
    camera: 'Camera',//攝像機
  } 

zh.js
export const m = {
  deviceCode: '設備編碼',//設備編碼
  deviceName: '設備名稱',//設備名稱
  deviceType: '設備類型',//設備類型
  denial: '拒止',//拒止
  camera: '攝像機',//攝像機
}

3.頁面中使用,不同的地方使用,寫法略有不同

(1)placeholder和按鈕的寫法
<el-row :gutter="30">
    <el-col :span="4">
        <div class="grid-content bg-purple">
              <el-input v-model="value0" :placeholder="$t('m.placeOne')"></el-input>
         </div>
     </el-col>
      <el-col :span="8">
         <div class="grid-content bg-purple">
              <el-button @click="searchData()" type="primary" icon="el-icon-search">{{ $t('m.query') }}</el-button> 
              <el-button @click="dialogVisible = true" type="warning">{{ $t('m.AddDevice') }}</el-button>
          </div>
    </el-col>
</el-row>(2)table的寫法

<el-table
    :data="tableData"
     stripe
   style="width: 100%;">
         <el-table-column
              prop="areaName"
              :label="$t('m.areaName')"
              width="100">
          </el-table-column>
</el-table>

(3)子組件彈框寫法

<el-dialog :title="$t('m.Ediedevice')" :visible.sync="dialogVisibles" width="30%" :before-close="handleClose" :close-on-click-modal=false>
     <edit-equipment @subsuccess="subsuccess" :editDate="editDate" style="overflow: hidden;"></edit-equipment>
 </el-dialog>
(4)js中拼接字符串寫法

strHtml = strHtml + "<td>"+this.$i18n.t('m.deviceCode')+":</td>";

以上就是vue後臺管理添加多語言功能的實現示例的詳細內容,更多關於vue後臺管理添加多語言功能的資料請關註WalkonNet其它相關文章!

推薦閱讀:

    None Found