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 分钟前
前端项目中创建自动化部署脚本,用于 Jenkins 触发 npm run publish 来完成远程部署
前端·自动化·jenkins
Perfect—完美18 分钟前
Vue 3 事件总线详解:构建组件间高效通信的桥梁
前端·javascript·vue.js
二川bro28 分钟前
模拟类似 DeepSeek 的对话
前端·人工智能
Neo Evolution1 小时前
Vue 3 组件库主题化与可扩展性深度剖析:设计模式与实现策略 - 构建灵活适应多场景的组件库架构
vue.js·设计模式·架构
祈澈菇凉1 小时前
Vue 中如何实现自定义指令?
前端·javascript·vue.js
sorryhc1 小时前
解读Ant Design X API流式响应和流式渲染的原理
前端·react.js·ai 编程
1024小神1 小时前
vue/react前端项目打包的时候加上时间,防止后端扯皮
前端·vue.js·react.js
拉不动的猪2 小时前
刷刷题35(uniapp中级实际项目问题-2)
前端·javascript·面试
bigcarp2 小时前
理解langchain langgraph 官方文档示例代码中的MemorySaver
java·前端·langchain
FreeCultureBoy2 小时前
从 VS Code 的插件市场下载扩展插件
前端