国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

用i18n 實(shí)現(xiàn)vue2+element UI的國際化多語言切換詳細(xì)步驟及代碼

這篇具有很好參考價(jià)值的文章主要介紹了用i18n 實(shí)現(xiàn)vue2+element UI的國際化多語言切換詳細(xì)步驟及代碼。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、i18n的安裝

這個(gè)地方要注意自己的vue版本和i1n8的匹配程度,如果是vue2點(diǎn)幾,記得安裝i18n的@8版本,不然會(huì)自動(dòng)安裝的最新版本,后面會(huì)報(bào)錯(cuò)哦,查詢了下資料,好像最新版本是適配的vue3。

npm install vue-i18n@8 --save

二、新建i18n相關(guān)文件夾及文件

用i18n 實(shí)現(xiàn)vue2+element UI的國際化多語言切換詳細(xì)步驟及代碼,vue.js,前端,i18n,vue2國際化,多語言切換

在src下面新建i18n文件夾,然后在里面新建index.js,里面的內(nèi)容如下

import Vue from 'vue';
import VueI18n from 'vue-i18n';
import locale from 'element-ui/lib/locale';
Vue.use(VueI18n);
// 引入自定義的各個(gè)語言配置文件
import zh from './config/zh';
import en from './config/en';

//element-ui自帶多語言配置
import zhLocale from 'element-ui/lib/locale/lang/zh-CN';
import enLocale from 'element-ui/lib/locale/lang/en';

const messages = {
    en: {
      ...en,
      ...enLocale
    },
    zh: {
      ...zh,
      ...zhLocale
    },
}  
// 創(chuàng)建vue-i18n實(shí)例i18n
const i18n = new VueI18n({
    // 設(shè)置默認(rèn)語言
    locale: localStorage.getItem('locale') || 'zh', // 語言標(biāo)識(shí),頁面對(duì)應(yīng)顯示相同的語言
    // 添加多語言(每一個(gè)語言標(biāo)示對(duì)應(yīng)一個(gè)語言文件)
    messages:messages,
})
// 非 vue 文件中使用這個(gè)方法
const translate = (localeKey) => {
    const locale = localStorage.getItem("language") || "zh"
    const hasKey = i18n.te(localeKey, locale)  // 使用i18n的 te 方法來檢查是否能夠匹配到對(duì)應(yīng)鍵值
    const translatedStr = i18n.t(localeKey) 
    if (hasKey) {
        return translatedStr
    }
    return localeKey
}

locale.i18n((key, value) => i18n.t(key, value)) //為了實(shí)現(xiàn)element插件的多語言切換
// 暴露i18n
export {
    i18n,
    translate
};

新建i18n文件夾里面新建config文件夾,然后在里面新建en.js和zh.js

en.js代碼

const en = {
    login:{ 
    	title:'I am the title',
    }
}
export default en;

zh.js代碼

const zh = {
    login:{ 
    	title:'我是標(biāo)題',
    }
}
export default zh;

三、在main.js引入

主要是引入以后要在new Vue的地方加入 i18n,

import {i18n} from './i18n/index.js'; 

new Vue({
    el: '#app',
    i18n,  
    router,
    store,
    mounted() {
        window.isfitVue = this;
    },
    components: { App },
    template: '<App/>'
})

四、功能切換

<template>
<div>
	<el-select  v-model="languageValue" @change="changeLanguage" placeholder="請(qǐng)選擇">
          <el-option
            v-for="item in languageOptions"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          </el-option>
     </el-select>
</div>
</template>
<script>
export default {
	data() {
	    return {
	      languageValue:'',
	      languageOptions:[],
	    }
    },
	created() {
		//最開始請(qǐng)求的時(shí)候看緩存是什么狀態(tài)
		if(this.$i18n.locale=='zh'){
	      this.languageValue='中文簡體';
	      this.languageOptions=[{value:'en',label:'English'}]
	    }else{
	      this.languageValue='English';
	      this.languageOptions=[{value:'zh',label:'中文簡體'}]
	    }
	},
	methods: {
	    // 多語言切換
	    changeLanguage(type){
	      console.log(type);
	      // 此處做了語言選擇記錄,存在localStorage中,這里的作用只有一個(gè)當(dāng)我重新請(qǐng)求頁面
	      //的時(shí)候先取localStorage的記錄值
	      localStorage.setItem('locale',type)
	      this.$i18n.locale = type; // 修改頁面需要顯示的語言
	      if(this.$i18n.locale=='zh'){
	        this.languageValue='中文簡體';
	        this.languageOptions=[{value:'en',label:'English'}]
	      }else{
	        this.languageValue='English';
	        this.languageOptions=[{value:'zh',label:'中文簡體'}]
	      }
	    },
   }
}
</script>

五、在vue文件里面的使用

在template中直接使用

<div>{{$t("login.title")}}</div>
//或者
<el-input :placeholder="$t('login.title')" ></el-input>

在script中加上this就行

this.$t('login.title'),

六、在單獨(dú)的js文件中使用

//導(dǎo)入 ,這里的路徑自己找一下自己的文件路徑
import { translate as $t } from "../../../../../i18n/index.js"  
//使用
name: $t('login.title'),

七、如果需要在js文件中獲取當(dāng)前保存的狀態(tài),也就是this.$i18n.locale

//導(dǎo)入,記得切換自己的路徑
import { i18n } from "../i18n/index.js"
//使用
console.log(i18n.locale)
if(i18n.locale=='en'){

}

八、寫在最后

這里面基本都是我使用的時(shí)候遇到問題單獨(dú)去查的資料,但是都寫得比較分散,比如我遇到了最開始的安裝問題,或者遇到了在js里面使用的問題,又需要去單獨(dú)的查資料說怎么使用的問題,所以想著說把自己遇到的問題都寫成一個(gè)合集,希望能幫助到更多跟我一樣的小伙伴,最后,如果有幫到您記得留言或點(diǎn)贊哦,會(huì)覺得很開心,覺得自己幫助到了人~~文章來源地址http://www.zghlxwxcb.cn/news/detail-633182.html

到了這里,關(guān)于用i18n 實(shí)現(xiàn)vue2+element UI的國際化多語言切換詳細(xì)步驟及代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【angular】實(shí)現(xiàn)簡單的angular國際化(i18n)

    【angular】實(shí)現(xiàn)簡單的angular國際化(i18n)

    實(shí)現(xiàn)簡單的angular國際化。本博客實(shí)現(xiàn)中文版和法語版。 將 Hello i18n! 變?yōu)?中文版:你好 i18n! 或 法語版:Bonjour l’i18n ! 。 創(chuàng)建一個(gè)項(xiàng)目: 在集成終端中打開。 添加本地化包: 在html中添加格式化標(biāo)識(shí): 現(xiàn)在運(yùn)行一下,頁面是: 生成翻譯模板語言包: 生成了一個(gè)文件夾: l

    2024年02月08日
    瀏覽(32)
  • next.js app目錄 i18n國際化簡單實(shí)現(xiàn)

    next.js app目錄 i18n國際化簡單實(shí)現(xiàn)

    最近在用next寫一個(gè)多語言的項(xiàng)目,找了好久沒找到簡單實(shí)現(xiàn)的教程,實(shí)踐起來感覺都比較復(fù)雜,最后終于是在官方文檔找到了,結(jié)合網(wǎng)上找到的代碼demo,終于實(shí)現(xiàn)了,在這里簡單總結(jié)一下。 此教程適用于比較簡單的項(xiàng)目實(shí)現(xiàn),如果你是剛?cè)腴Tnext,并且不想用太復(fù)雜的方式去

    2024年04月22日
    瀏覽(31)
  • Spring之國際化:i18n

    Spring之國際化:i18n

    學(xué)習(xí)的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾。各位小伙伴,如果您: 想系統(tǒng)/深入學(xué)習(xí)某技術(shù)知識(shí)點(diǎn)… 一個(gè)人摸索學(xué)習(xí)很難堅(jiān)持,想組團(tuán)高效學(xué)習(xí)… 想寫博客但無從下手,急需寫作干貨注入能量… 熱愛寫作,愿意讓自己成為更好

    2024年02月03日
    瀏覽(39)
  • Vue3中,國際化插件vue-i18n使用記錄,配合VSCode自動(dòng)化翻譯插件i18n Ally

    Vue3中,國際化插件vue-i18n使用記錄,配合VSCode自動(dòng)化翻譯插件i18n Ally

    說明文檔: vue-i18n 版本說明: vue: 3.0.0+ vue-i18n: 9.x版 src 目錄下新建目錄 lang ,存放 i18n 的配置。 新建目錄名稱: lang (語言)、 locales (語系設(shè)定)、 i18n ,這些名稱都可被VSCode圖標(biāo)插件( vscode-icons )檢測(cè)到并美化。 lang 目錄下,新建 index.js 文件,引入 vue-i18n 。 語言的配置信

    2024年02月12日
    瀏覽(26)
  • spring6-國際化:i18n | 數(shù)據(jù)校驗(yàn):Validation

    spring6-國際化:i18n | 數(shù)據(jù)校驗(yàn):Validation

    1.1、i18n概述 國際化也稱作i18n,其來源是英文單詞 internationalization的首末字符i和n,18為中間的字符數(shù)。由于軟件發(fā)行可能面向多個(gè)國家,對(duì)于不同國家的用戶,軟件顯示不同語言的過程就是國際化。通常來講,軟件中的國際化是通過配置文件來實(shí)現(xiàn)的,假設(shè)要支撐兩種語言,

    2024年02月08日
    瀏覽(25)
  • 微信小程序-切換語言(國際化i18n)的方法封裝

    微信小程序-切換語言(國際化i18n)的方法封裝

    最近做的一個(gè)小程序的項(xiàng)目, 涉及到了 多語言的切換 , 就想到了之前vue用的多語言插件i18n, 就嘗試著在微信開放社區(qū)搜了一下, 沒有具體的實(shí)現(xiàn), 但是提供了大致的實(shí)現(xiàn)思路, 如下: 又結(jié)合了很多大佬的分享經(jīng)驗(yàn), 試著去封裝了一個(gè)微信的i18n方法 首先, 我們需要明確一下需要實(shí)

    2024年02月05日
    瀏覽(21)
  • SpringBoot 國際化(i18n) 支持中文鍵(KEY)的解決方法

    前言: 項(xiàng)目中要解決“中英文”切換的問題,想法是輸入key例如“你好”,然后去國際化文件找對(duì)應(yīng)的中文key,然后進(jìn)行輸出,如果沒有定義這個(gè)key,則輸出“你好”。但是中文key在properties文件中會(huì)已unicode編碼輸出,使用中文key時(shí)獲取不到對(duì)應(yīng)的value。 解決方法: 重構(gòu)$.

    2024年02月16日
    瀏覽(30)
  • 語言包 I18n 使用(如何搭配element-ui)

    語言包 I18n 使用(如何搭配element-ui)

    1.安裝依賴? yarn add?vue-i18n@8.22.2 2.在src下創(chuàng)建lang文件夾,創(chuàng)建lib文件夾,lib下面放下面兩個(gè)文件 en.js zh.js ?在src下的lang文件夾的index中 在main.js中 ? ?結(jié)合element-ui 使用 需要在main.js修改一下內(nèi)容 在src下的lang文件夾下的index文件中

    2024年02月11日
    瀏覽(24)
  • Vue實(shí)現(xiàn)多語言(i18n)

    Vue實(shí)現(xiàn)多語言(i18n)

    安裝i18n插件。 在src目錄下,創(chuàng)建一個(gè)【language】文件夾,并創(chuàng)建兩個(gè)語言包js文件。 中文語言包:【zh.js】 英文語言包:【en.js】 完善en.js文件和zh.js文件。兩個(gè)文件的結(jié)構(gòu)要相同。如果用Element-UI,這里導(dǎo)入。 en.js zh.js 在main.js引入插件。 在頁面上使用和切換。 使用: 切換

    2024年02月15日
    瀏覽(38)
  • vue2+element-ui使用vue-i18n進(jìn)行國際化的多語言/國際化

    vue2+element-ui使用vue-i18n進(jìn)行國際化的多語言/國際化

    注意:vue2.0要用8版本的,使用9版本的會(huì)報(bào)錯(cuò) 在src目錄下,創(chuàng)建新的文件夾,命名為i18n zh.js en.js index.js main.js 使用方式一 效果圖 使用方式二 效果圖 使用方式三,在 效果圖 ` 注意:這種方式存在更新this.$i18n.locale的值時(shí)無法自動(dòng)切換的問題,需要刷新頁面才能切換語言。解

    2024年02月07日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包