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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:20:41
字體:
供稿:網(wǎng)友

前言

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

發(fā)現(xiàn)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', // 設(shè)置語言   messages // 語言包})new Vue({  el: '#app',  ...  i18n})// messages 大概的使用格式{  cn: {    name: '名字'  },  us: {    name: 'Name'  }}

使用i18n

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

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

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

切換語言的話,可以使用內(nèi)置變量:

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

語言包的生成 & 替換項目中原有的靜態(tài)文本

這一步最關(guān)鍵,抽離出所有出現(xiàn)的漢字,替換成 $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>

問題

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

總結(jié)

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 安平县| 福州市| 黄冈市| 建水县| 上饶市| 江华| 镇远县| 南安市| 南皮县| 建瓯市| 桐柏县| 永善县| 扎兰屯市| 泸定县| 宁明县| 炉霍县| 贵港市| 江门市| 简阳市| 蕲春县| 宁城县| 师宗县| 峨边| 罗山县| 临夏市| 咸丰县| 苗栗县| 赣州市| 上林县| 长海县| 上蔡县| 宁海县| 石首市| 东台市| 罗城| 泗水县| 子洲县| 怀化市| 扬中市| 中江县| 金阳县|