【vue3】【elementPlus】【国际化】

news2024/9/24 21:43:20

1.如需从0-1开始,请参考 https://blog.csdn.net/Timeguys/article/details/140995569

2.使用 vue-i18n 模块:

npm i vue-i18n

3.在 src 目录下创建 locales 目录,里面创建文件:en.js、zh-cn.js、index.js 语言js文件:

// en.js
 
export default {
  login: {
    title: 'Login Form',
    logIn: 'Login',
    username: 'Username',
    password: 'Password'
  }
}
// zh-cn.js
 
export default {
  login: {
    title: '系统登录',
    logIn: '登录',
    username: '账号',
    password: '密码'
  }
}
// index.js
 
import { createI18n } from 'vue-i18n'
import elEnLocale from 'element-plus/es/locale/lang/en'
import elZhLocale from 'element-plus/es/locale/lang/zh-cn'
import enLocale from './en'
import zhLocale from './zh-cn'
 
const messages = {
  en: {
    ...enLocale,
    ...elEnLocale
  },
  'zh-cn': {
    ...zhLocale,
    ...elZhLocale
  }
}
 
export const getLocale = () => {
  // 获取缓存
  const storLanguage = localStorage.getItem('language')
  // 存在返回当前语言
  if (storLanguage) return storLanguage
  // 不存在 获取系统语言
  const language = (navigator.language || navigator.browserLanguage).toLowerCase()
  const locales = Object.keys(messages)
  for (const locale of locales) {
    if (language.indexOf(locale) > -1) {
      return locale
    }
  }
  // 默认返回简体中文
  return 'zh-cn'
}
const i18n = createI18n({
  globalInjection: true,
  legacy: false,
  locale: getLocale(),
  messages: messages
})
export default i18n

4.编辑 main.js,挂载国际化文件:

在这里插入图片描述

5.编辑 App.vue 使用 el-config-provider 标签配置:

在这里插入图片描述

6.在 components 创建一个 language.vue 组件:

<script setup>
import { useI18n } from 'vue-i18n'
const { locale } = useI18n()
const languages = [
  { name: 'English', value: 'en' },
  { name: '中文', value: 'zh-cn' }
]
const handleSetLanguage = (lang) => {
  locale.value = lang
  localStorage.setItem('language', lang)
}
</script>
 
<template>
  <el-button type="" v-for="item in languages" :key="item.value" @click="handleSetLanguage(item.value)">{{ item.name }}</el-button>
</template>

7.在测试页面引入 组件进行测试:

在这里插入图片描述

8.效果:

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1989069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ICC2:检查漏tree的脚本

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 前面写了innovus检查clock 漏tree的脚本&#xff0c;ICC2的脚本也相差不多&#xff0c;只需要替换少部分命令就行。原理就是检查clock pin有没有clock 定义。 foreach pin [ge…

JavaSE之常用API大全

API大全 一、Object toString 返回这个对象的字符串表示形式 当输入一个引用类型的时候,会自动调用该对象的toString方法 默认的toString方法是: 包名.类名十六进制值 Equals 用于比较两个对象是否相同,默认比较内存地址 “”:比较基本类型的时候,比较的是值的大小,而比较引用…

光伏气象站会对环境产生影响吗?

在探讨光伏气象站对环境的影响时&#xff0c;我们首先要明确其核心功能和运作原理。光伏气象站&#xff0c;作为集光伏发电与气象监测于一体的设备&#xff0c;其主要作用在于为光伏电站提供精准的气象数据支持&#xff0c;并辅助电站优化运行&#xff0c;提高发电效率。 从环境…

互联网之光与人工智能之光交相辉映,如何抓住5G人工智能红利

一、互联网之光闭幕 第六届世界互联网大会“互联网之光”虽然已经闭幕&#xff01;“科学与技术”“产业与经济”“人文与社会”“合作与治理”等4大板块20个分论坛&#xff0c;为5G人工智能时代提出了一个新的问题&#xff1a;5GAI 交相辉映&#xff0c;抓住5G人工智能红利&am…

George Danezis谈Mysticeti的吞吐量和低延迟

Sui的新共识引擎Mysticeti已经在主网上开始分阶段推出。Mysten Labs联合创始人兼首席科学家George Danezis在采访中&#xff0c;解释了吞吐量和延迟的区别&#xff0c;以及Sui上的Mysticeti如何结合这两者。 采访视频&#xff1a;https://youtu.be/A4vtyE8obXQ 中文译文&…

【前缀异或和】力扣2588. 统计美丽子数组数目

给你一个下标从 0 开始的整数数组nums 。每次操作中&#xff0c;你可以&#xff1a; 选择两个满足 0 < i, j < nums.length 的不同下标 i 和 j 。 选择一个非负整数 k &#xff0c;满足 nums[i] 和 nums[j] 在二进制下的第 k 位&#xff08;下标编号从 0 开始&#xff0…

1.数据加载时 暂无数据会晃一下再显示数据 2.判断图片加载失败后渲染占位图

工作中问题小记 这种问题正常来说都没有记录的意义 但是我是强迫症 hhh 1.在正常数据渲染时 如果为空我们会渲染(暂无数据占位图)来提示用户 通常是用数据长度来判断 但是他在刷新的时候会先弹出 <暂无数据> 的提示再显示那个数据 解决方法: 搞个标识符 必须等他请求完接…

【电控笔记z14z16】增加霍尔元件分辨率

霍尔传感器用的不多?实际增量编码器更好 z14 假设60度内速度不变 z16(更简单的方法)BLDC

vue前端项目--路由vue-router

1. 路由介绍 我们可以总结一下从早期网站开发到现代单页应用(SPA)的发展过程及其关键概念&#xff1a; 早期的服务器端渲染 (SSR): 早期的网站开发中&#xff0c;服务器负责生成完整的 HTML 页面&#xff0c;并将其发送给客户端展示。 每个 URL 对应一个特定的控制器(Control…

学习笔记 韩顺平 零基础30天学会Java(2024.8.7)

P481 Math方法 利用random返回一个[2,7]之间的随机数&#xff1a; 因为random只能返回[0,1)之间的随机数&#xff0c;因此做一下处理&#xff1a;[(int)(a), (int) (aMath.random()*(b-a1))]&#xff0c;对于Math.random()*(b-a1)&#xff0c;其中b-a1&#xff0c;它乘上[0,1)相…

PFC+DAB原理介绍

三、PFCDAB原理介绍 1、PFC工作原理 三相交流电网的一个公认拓扑是三相全桥 PFC。此拓扑也称为 B6 或“三段桥”。如图显示此拓扑仅使用三相交流输入运行。如果需要单相工作模式。可以轻松地通过增加中性线实现 三相电源包含三个交流相位&#xff0c;通常用 L1、L2 和 L3 表…

linux使用ssh连接一直弹出密码框问题

1.查看ssh服务的状态 输入以下命令&#xff1a; sudo service sshd status 小编已经安装了。 如果出现 Loaded: error (Reason: No such file or directory) 提示的话&#xff0c;说名没有安装ssh服务&#xff0c;按照第二步&#xff1a;安装ssh服务。 如果出现 Active: in…

sql中表和表之间基础的关系以及,多种连接查询和select的字句

1&#xff0c;表与表之间的关系 一对一 网上购买商品 一个订单是不是只能有一个地址 一对多 一个老师 可以教多个学生 但是 一个学生一个科目只能对应一个老师 多对多 一个学生在学校可以选修多门课程 一门课程可以被多个学生选择 数据准备 CREATE table h_employ…

WeNet 2.0:更高效的端到端语音识别工具包

WeNet 2.0:更高效的端到端语音识别工具包 原文链接&#xff1a;[2203.15455] WeNet 2.0: More Productive End-to-End Speech Recognition Toolkit (arxiv.org) 1.摘要 WeNet是一个开源的端到端语音识别工具包&#xff0c;WeNet 2.0在此基础上进行了四项主要更新&#xff0c…

简明 | Yolo-v3结构理解摘要

简明 | ResNet特点、残差模块、残差映射理解摘要 目录 整体结构 DBL Res-n Res-unit concat 上采样 整体结构 网络主要包括两部分&#xff0c;一个部分是主干网络Darknet-53&#xff0c;一个部分使用特征金字塔(FPN)融合、加强特征提取并利用卷积进行预测。 DBL DBL&am…

从人工巡检到智能监管:视频AI智能监管技术驱动风电场智慧化发展

一、背景分析 随着全球对可再生能源需求的持续增长&#xff0c;风电作为清洁、可再生的能源形式&#xff0c;其重要性日益凸显。然而&#xff0c;风电场通常分布在偏远地区&#xff0c;面积广阔&#xff0c;环境复杂多变&#xff0c;这给风电场的运维管理带来了巨大挑战。为了…

CleanMyMac可以一键清理电脑,让Mac系统运行得更加流畅。有关CleanMyMac可以删除Mac重复的文件吗?苹果电脑怎么快速找到重复文件的问题?

一、CleanMyMac可以删除Mac重复的文件吗 作为一款专业级的苹果电脑清理软件&#xff0c;CleanMyMac具备多项深度清理和系统维护工具。软件拥有强大的文件管理系统&#xff0c;可以利用“空间透镜”等工具&#xff0c;筛选出相同体积、名称的文件。 图1&#xff1a;用CleanMyMa…

计算机网络408考研 2019

计算机网络408考研2019年真题解析_哔哩哔哩_bilibili 2019 1 1 1 1

麦田物语第二十天

系列文章目录 麦田物语第二十天 文章目录 系列文章目录一、构建地图信息系统二、生成地图数据 一、构建地图信息系统 我们上一节课已经做好了鼠标的显示&#xff0c;这节课需要构建地图的一些信息&#xff0c;例如&#xff1a;可挖坑&#xff0c;可丢弃物品等地区。我们点击地…

Altium designer学习笔记02 - 原理图库的创建与绘制

原理图库的创建与绘制 1. 元件符号的概述2. 单部件元件符号的绘制-实例电容3.子件原件符号的创建绘制&#xff08;示例 放大器&#xff09;4.已存在原理图直接生成元件库5.元件库的拷贝6.元件的检查与报告 1. 元件符号的概述 元件符号是元件在原理图上的表现形式&#xff0c;主…