vue elementUI组件国际化

App.vue:

html 复制代码
<template>
  <el-config-provider :locale="appStore.locale" :size="size">
    <router-view />
  </el-config-provider>
</template>
<script setup lang="ts">

import useAppStore from '@/store/modules/app';
const appStore = useAppStore();
</script>

appStore.locale的定义如下:

javascript 复制代码
import zhCn from 'element-plus/es/locale/lang/zh-cn';
import en from 'element-plus/es/locale/lang/en';
import enLocale from '../../lang/en';
import zhCnLocale from '../../lang/zh-cn';
import jaLocale from '../../lang/ja';
import arLocale from '../../lang/ar';
import thLocale from '../../lang/th';
import frLocale from '../../lang/fr';
import idLocale from '../../lang/id';
import plLocale from '../../lang/pl';
import ruLocale from '../../lang/ru';
export const useAppStore = defineStore('app', () => {
  const language = ref(Cookies.get('language'));
  const locale = computed(() => {
    if (language?.value == 'en') {
      return Object.assign({},en,enLocale);
    }else if (language?.value == 'zh-cn') {
      return zhCn;
    }else if (language?.value == 'ja') {
      return Object.assign({},en,jaLocale);
    }else if (language?.value == 'ar') {
      return Object.assign({},en,arLocale);
    }else if (language?.value == 'th') {
      return Object.assign({},en,thLocale);
    }else if (language?.value == 'fr') {
      return Object.assign({},en,frLocale);
    }else if (language?.value == 'id') {
      return Object.assign({},en,idLocale);
    }else if (language?.value == 'pl') {
      return Object.assign({},en,plLocale);
    }else if (language?.value == 'ru') {
      return Object.assign({},en,ruLocale);
    } else {
      return zhCn;
    }
  });
  return {
    language,
    locale,
  };
});
export default useAppStore;
相关推荐
牛奶2 分钟前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶8 分钟前
Vue 底层原理 & 新特性
前端·vue.js·面试
anOnion26 分钟前
构建无障碍组件之Radio group pattern
前端·html·交互设计
pe7er29 分钟前
状态提升:前端开发中的状态管理的设计思想
前端·vue.js·react.js
SoaringHeart1 小时前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox
前端·flutter
晚风予星2 小时前
Ant Design Token Lens 迎来了全面升级!支持在 .tsx 或 .ts 文件中直接使用 Design Token
前端·react.js·visual studio code
sunny_2 小时前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
GIS之路2 小时前
ArcPy 开发环境搭建
前端
林小帅4 小时前
【笔记】OpenClaw 架构浅析
前端·agent
林小帅4 小时前
【笔记】OpenClaw 生态系统的多语言实现对比分析
前端·agent