国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue項目國際化vue-i18n的安裝使用教程

2019-11-19 14:10:18
字體:
來源:轉載
供稿:網友

前言

項目需要支持多語言,我們需要提取出項目中使用的靜態文本,使用語言包進行管理, 當切換語言設置的時候,可以自動切換整個項目的文字顯示。

發現Vue項目中有對應的組件 vue-i18n ,而且對項目的代碼修改不大,于是就使用了這個組件去修改項目中的代碼。下面話不多說了,來一起看看詳細的介紹吧。

安裝

// script 引入<script src="https://unpkg.com/vue/dist/vue.js"></script><script src="https://unpkg.com/vue-i18n/dist/vue-i18n.js"></script>// npm 安裝npm install vue-i18n// yarn 安裝yarn add vue-i18n

一般一個項目中使用都是通過安裝包的方式去運行的, script 引入的較少。

使用

項目中配置i18n

import VueI18n from 'vue-i18n'Vue.use(VueI18n)const i18n = new VueI18n({  local: 'cn', // 設置語言   messages // 語言包})new Vue({  el: '#app',  ...  i18n})// messages 大概的使用格式{  cn: {    name: '名字'  },  us: {    name: 'Name'  }}

使用i18n

// html 需要使用 {{}} 將 name包裝起來{{$t('name')}}// js$t('name')

還有一些其他的用法,如:

  • 針對不同語言,顯示不同的格式
  • 如果在傳入自定義變量來控制顯示
  • ... 具體的請參考官方文檔。

切換語言的話,可以使用內置變量:

// 通過設置 locale 來切換語言this.$i18n.locale = cn | us

語言包的生成 & 替換項目中原有的靜態文本

這一步最關鍵,抽離出所有出現的漢字,替換成 $t('xxx') ,維護多個版本的語言文件

語言包這邊是這么處理的,項目下新增一個目錄languages

--languages  --lib    -- cn.js // 中文語言包    -- us.js // 英文語言包    -- .. // 其他語言,暫未實踐  -- index.js // 導出語言包

cn.js

export default {  common: {    message: '消息'  },  xxx: {  }}

us.js

export default {  common: {    message: 'Messages'  },  xxx: {  }}

index.js

import cn from './lib/cn.js'export default {  cn,  us}

替換文本

<template>  ...  <div>{{$t('message')}}</div>  ...</template>

問題

  • 不同的語言,格式不同,長度不同,可能需要調整項目的樣式,以保正常
  • 對于一個已經在使用的項目,生成語言包這一步工作量大,浪費時間
  • 沒有考慮如果是否需要動態的加載語言包,而非初始的加載所有的語言包

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商河县| 高雄市| 巫溪县| 临沂市| 盐亭县| 英吉沙县| 邛崃市| 枣强县| 青川县| 新余市| 敖汉旗| 卓尼县| 阳东县| 齐齐哈尔市| 临西县| 内乡县| 高密市| 吴江市| 合水县| 云梦县| 泸溪县| 左云县| 抚松县| 藁城市| 新津县| 子长县| 静宁县| 黄浦区| 县级市| 阿拉善盟| 普安县| 阿瓦提县| 赤城县| 密山市| 湛江市| 项城市| 江口县| 孟州市| 肇州县| 桂平市| 法库县|