发新帖

[Vue2] [Element UI] vite + element-plus + vue3实现网站国际化 (Not available in legacy mode (at message-compiler.esm-bundler....

零下一度 2023-11-22 586

有时候我们的网站需要做国际化的语言切换,今天试着做了一下

首先我们要分成两部分

element-plus 的国际化

element-plus因为他的文本啥的都是封装在内部的,我们无法去更改,比如说date-picker,所以就要使用组件库本身提供的国际化组件,当然element-plus也提供了配置的形式,

import ElementPlus from 'element-plus'

import zhCn from 'element-plus/es/locale/lang/zh-cn'

app.use(ElementPlus, {

  locale: zhCn,

})

但是这样貌似不好做语言的切换,所以我就用组件的形式了

首先导入语言包

import zhCn from "element-plus/lib/locale/lang/zh-cn";

import en from "element-plus/lib/locale/lang/en";

<el-config-provider :locale="locale">

    <div>

      <router-view></router-view>

      <button @click="changeLanguage(zhCn)">中文</button>

      <button @click="changeLanguage(en)">英文</button>

    </div>

  </el-config-provider>

  

  

实现changeLanguage

  

  

import { ref } from "vue";

const locale = ref(zhCn);

const changeLanguage = (language: any) => {

  locale.value = language;

};

这样我们在点击中文,英文按钮的时候,就会发现element-plus的组件文字就可以相互切换了(element-plus支持的语言列表)

网站中自己的文本

网页中我们自己的文字要做语言的切换的话就需要依赖vue的一个插件了: vue-i18n (是数字1不是字母l

最新回复 (0)
返回
零下一度
主题数
931
帖子数
0
注册排名
1