网站国际化

Element-plus配置国际化 
国际化 | Element Plus
网站全局国际化

安装 vue-i18n

pnpm i vue-i18n

创建中英文语言包,也就是项目中用到的国际化名称。

src\language\en.ts

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

 src\language\zh.ts

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

 配置中英文语言包

src\language\i18n.ts

import { createI18n } from 'vue-i18n'
import zh from './zh'
import en from './en'

const i18n = createI18n({
  locale: 'en',
  // 如果高版本报错,设置这个属性
  legacy: false,
  messages: {
    zh,
    en,
  },
})
export default i18n

 在 main.ts 中进行全局注册

src\main.ts

import i18n from '@/language/i18n'
app.use(i18n)

 在App.vue 中进行使用 vue-18n。

src\App.vue

<script setup lang="ts">
import { ref } from 'vue'
import { useI18n } from 'vue-i18n'
import { ElConfigProvider } from 'element-plus'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import en from 'element-plus/dist/locale/en.mjs'

const { locale: localeLanguage, t } = useI18n()
const locale: any = ref(zhCn)
const chaneLang = (language: any) => {
  // elementUI 国际化
  locale.value = language
  // 网站国际化
  localeLanguage.value = language.name
}
</script>

<template>
  <el-config-provider :locale="locale">
    <button @click="chaneLang(zhCn)">中文</button>
    <button @click="chaneLang(en)">英文</button>
    <router-link to="/home">{{ t('message.home') }}</router-link>
    <router-link to="/mine">{{ t('message.mine') }}</router-link>
    <router-view></router-view>
  </el-config-provider>
</template>

参考文章:

vue-i18n插件报错

vue i18n 国际化保姆级教程_看不懂自己找原因 - 掘金

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值