vue项目中实现国际化

本文介绍了在Vue应用中实现国际化的方法,包括使用Element-plus配置局部国际化和通过Vue-i18n实现全局国际化。详细步骤涵盖了安装依赖、创建语言文件、在main.ts中引入以及如何切换语言。
摘要由CSDN通过智能技术生成

1 Element-plus配置国际化:ConfigProvider

 (1)首先需要将国际化的地方包起来,如下

<script setup lang="ts">
// This starter template is using Vue 3 <script setup> SFCs
// Check out https://vuejs.org/api/sfc-script-setup.html#script-setup
import { useRouter } from 'vue-router'
import zhCn from 'element-plus/dist/locale/zh-cn'
import en from 'element-plus/dist/locale/en'
import { ref } from 'vue'
const router = useRouter()
const locale = ref(zhCn)
const changeLang = (language:any)=>{
  locale.value = language
}
</script>

<template>
  <el-config-provider :locale="locale">
    <el-time-picker v-model="value1" placeholder="Arbitrary time" />
    <button @click="changeLang(zhCn)">中文</button>
    <button @click="changeLang(en)">英文</button>
    <button @click="()=> router.push({path: '/home'})">首页</button>
    <button @click="()=> router.push({path: '/mine'})">个人中心</button>
    <router-link to="/home">首页-router-link实现跳转</router-link>
    <router-link to="/mine">个人中心-router-link实现跳转</router-link>
    <!-- 作为顶级的视图出口 -->
    <router-view/>
  </el-config-provider>
</template>
<style lang="scss" scoped>
.logo {
  height: 6em;
  padding: 1.5em;
  will-change: filter;
}
.logo:hover {
  filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.vue:hover {
  filter: drop-shadow(0 0 2em #42b883aa);
}
#app{
  button{
    font-size: 20px;
  }
}
</style>

 当按钮点击中文时,时间选择组件对应的文字会转换成中文,当点击英文时,时间选择组件对应的文字会转换成英文。

2 Vue-i18n实现网站全局国际化(1 中只能实现局部国际化,使用2可以实现全局国际化)

(1)安装:npm i vue-i18n@next

(2)在项目中新建language文件

其中i18n.ts中内容为

import { createI18n } from 'vue-i18n'
import zh from './zh'
import en from './en'
const i18n = createI18n({
  locale: 'zh',
  messages: {
    zh,
    en
  }
})
export default i18n

en.ts的内容为:

export default {
  message: {
    home: 'home',
    mine: 'mine'
  }
}

 zh.ts的内容为

export default {
  message: {
    home: '首页',
    mine: '个人中心'
  }
}

(3)在main.ts中引入

(4)使用:

(5)如何切换语言

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值