在Vue中加入国际化(i18n)中英文功能

1.npm安装方法

npm install vue-i18n --save

2.在src资源文件下创建文件夹i18n,i18n下面创建index.js文件,引入VueI18n和导入语言包(按开发需求可添加多种语言)

具体代码:

import Vue from 'vue'

import VueI18n from 'vue-i18n'

Vue.use(VueI18n)

// 注册i18n实例并引入语言文件

const i18n = new VueI18n({

locale: 'zh_cn',

messages: {

'zh_cn': require('@/assets/languages/zh_cn.json'),

'en_us': require('@/assets/languages/en_us.json')

}

})

export default i18n

3.在mian.js文件中:

import i18n from './i18n';

new Vue({

el: '#app',

i18n,

router,

store,

components: { App },

template: '<App/>'

})

4.接在assets文件下新建languages包:

在Vue中加入国际化(i18n)中英文功能

语言JSON包:

//zh_cn.json

{

"SYS": {

"confirmButtonText": "确认",

"cancelButtonText": "取消"

},

"user": {

"title": "个人中心",

"Exit": "退出系统",

"Processing": "代办工作",

"initiated": "我发起的",

"transferring": "办结工作",

"phoneService": "电话客服",

"Accounts": "账号中心",

"modifyPassword": "修改密码",

"Language": "切换中英文",

"about": "关于",

"confirmExit": "确定退出?",

"confirmChangeLanguage": "是否切换语言?",

"ScExit": "退出成功",

"loadingtext": "退出账号中..."

}

}

//en_us.json

{

"SYS": {

"confirmButtonText": "Comfirm",

"cancelButtonText": "Cancel"

},

"user": {

"title": "Personal center",

"Exit": "Exit system",

"Processing": "to-do list",

"initiated": "I initiated",

"transferring": "transferring work",

"phoneService": "Telephone customer service",

"Accounts": "Account center",

"modifyPassword": "change Password",

"Language": "CH/EN",

"about": "about",

"confirmExit":"Confirm Exit ?",

"confirmChangeLanguage":"Whether to switch languages",

"ScExit":"exit successfully",

"loadingtext":"Exiting..."

}

}

5.组件使用(语言切换)

        <van-cell

icon="setting-o"

@click="changeLanguage"

:title="$t('user.Language')"

:value="Languagevalue"

is-link

/>

   展示语言切换弹窗:(注意一定要使用$t())

    //选择语言

changeLanguage() {

this.$dialog

.confirm({

message: this.$t("user.confirmChangeLanguage"),

confirmButtonText: this.$t("SYS.confirmButtonText"),

cancelButtonText: this.$t("SYS.cancelButtonText")

})

.then(() => {

this.Language = !this.Language;

if (this.Language == false) {

this.CHLanguage("zh_cn");

this.Languagevalue = "English";

} else {

this.CHLanguage("en_us");

this.Languagevalue = "Chinese";

}

});

},

// 语言切换

CHLanguage(lang) {

lang === "" ? "zh_cn" : lang;

this.$i18n.locale = lang;

},

 

效果:

在Vue中加入国际化(i18n)中英文功能

 

 在Vue中加入国际化(i18n)中英文功能

 

以上是 在Vue中加入国际化(i18n)中英文功能 的全部内容, 来源链接: utcz.com/a/55694.html

回到顶部