当前位置: 首页 > news >正文

Vue3+element-plus 实现中英文切换(Vue-i18n组件的使用)

1、前言

        在 Vue 3 项目中结合 vue-i18n 和 Element Plus 实现中英文切换是一个常见的需求。下面是一个详细的步骤指南,帮助你完成这个任务。

安装引入 

1. 安装依赖

首先,你需要安装 vue-i18n 和 Element Plus

npm install vue-i18n@next element-plus --save

 第二步骤:安装vue-i18n


// npm
npm install vue-i18n@9// yarn
yarn add vue-i18n@9

2. 创建国际化文件

        在项目中创建一个文件夹 locales,然后在里面创建两个文件:en.js 和 zh.js,分别用于存储英文和中文的翻译。

locales/en.js

第三步: 在index.js里,引入vue-i18n,并进行相关配置后导出

export default {message: {hello: 'Hello, world!'},button: {submit: 'Submit'},// 其他翻译
};

 locales/zh.js

export default {message: {hello: '你好,世界!'},button: {submit: '提交'},// 其他翻译
};

3. 配置 vue-i18n

在 main.js 或 main.ts 文件中配置 vue-i18n

main.js 或 main.ts
import { createApp } from 'vue';
import App from './App.vue';
import { createI18n } from 'vue-i18n';
import en from './locales/en';
import zh from './locales/zh';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';const messages = {en: en,zh: zh
};const i18n = createI18n({locale: 'zh', // 默认语言messages,
});const app = createApp(App);app.use(i18n);
app.use(ElementPlus);app.mount('#app');

4. 使用 vue-i18n 进行翻译

在你的 Vue 组件中使用 $t 方法进行翻译。

App.vue
<template><div><h1>{{ $t('message.hello') }}</h1><el-button>{{ $t('button.submit') }}</el-button><el-select v-model="currentLocale" @change="changeLocale"><el-option label="English" value="en"></el-option><el-option label="中文" value="zh"></el-option></el-select></div>
</template><script>
export default {data() {return {currentLocale: this.$i18n.locale,};},methods: {changeLocale() {this.$i18n.locale = this.currentLocale;}}
};
</script>

5. 配置 Element Plus 国际化

        为了让 Element Plus 的组件也支持国际化,你需要在 main.js 或 main.ts 中配置 Element Plus 的国际化

import { createApp } from 'vue';
import App from './App.vue';
import { createI18n } from 'vue-i18n';
import en from './locales/en';
import zh from './locales/zh';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';
import zhCn from 'element-plus/lib/locale/lang/zh-cn';
import enUs from 'element-plus/lib/locale/lang/en';const messages = {en: {...en,...enUs},zh: {...zh,...zhCn}
};const i18n = createI18n({locale: 'zh', // 默认语言messages,
});const app = createApp(App);app.use(i18n);
app.use(ElementPlus, {locale: i18n.global.locale === 'zh' ? zhCn : enUs,
});app.mount('#app');

6. 运行项目

完成上述配置后,你可以运行项目并测试中英文切换功能。

npm run serve

总结

        通过以上步骤,你已经成功地在 Vue 3 项目中结合 vue-i18n 和 Element Plus 实现了中英文切换功能。你可以根据项目需求进一步扩展和优化这个功能。

 

相关文章:

Vue3+element-plus 实现中英文切换(Vue-i18n组件的使用)

1、前言 在 Vue 3 项目中结合 vue-i18n 和 Element Plus 实现中英文切换是一个常见的需求。下面是一个详细的步骤指南&#xff0c;帮助你完成这个任务。 安装引入 1. 安装依赖 首先&#xff0c;你需要安装 vue-i18n 和 Element Plus。 npm install vue-i18nnext element-p…...

python实现猜数字游戏( 可视化easygui窗口版本 )

1.先上源代码 import random import easygui as egdef guess_ordinary():answer random.randint(0, 11)user_answer int(eg.enterbox(msg "请在0-10中选择一个整数: ", title "猜数字"))if user_answer answer:eg.msgbox(msg "恭喜你&#xff…...

自由学习记录(23)

Lua的学习 table.concat(tb,";") 如果表里带表&#xff0c;则不能拼接&#xff0c;表里带nil也不能&#xff0c;都会报错 true和false也不可以&#xff0c;数字和字符串可以 if要和一个end配对&#xff0c;所以 if a>b then return true end end 两个end …...

Java语言程序设计 选填题知识点总结

第一章 javac.exe是JDK提供的编译器public static void main (String args[])是Java应用程序主类中正确的main方法Java源文件是由若干个书写形式互相独立的类组成的Java语言的名字是印度尼西亚一个盛产咖啡的岛名Java源文件中可以有一个或多个类Java源文件的扩展名是.java如果…...

鸿蒙生态:开发者的新蓝海与挑战

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…...

4.3 MySQL 存储函数

存储函数是一种数据库对象&#xff0c;允许用户将常用的 SQL 逻辑封装为可复用的函数&#xff0c;通过调用函数完成特定的计算或业务逻辑。 1. 简介 1.1 什么是存储函数 存储函数&#xff08;Stored Function&#xff09;是用户定义的一段 SQL 逻辑&#xff0c;返回一个值&am…...

【Python刷题】动态规划相关问题

动态规划&#xff08;Dynamic Programming&#xff0c;简称 DP&#xff09;是一种用于解决多阶段决策最优化问题的算法策略。它通过把原问题分解为相对简单的子问题&#xff0c;记录子问题的解&#xff08;通常使用表格等数据结构存储&#xff09;&#xff0c;避免重复计算&…...

2024年9月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

一、单选题 1、下面代码运行后出现的图像是&#xff1f;&#xff08; &#xff09; import matplotlib.pyplot as plt import numpy as np x np.array([A, B, C, D]) y np.array([30, 25, 15, 35]) plt.bar(x, y) plt.show() A. B. C. D. 正确答案&#xff1a;A 答案…...

论文阅读:SIMBA: single-cell embedding along with features

Chen, H., Ryu, J., Vinyard, M.E. et al. SIMBA: single-cell embedding along with features. Nat Methods 21, 1003–1013 (2024). 论文地址&#xff1a;https://doi.org/10.1038/s41592-023-01899-8 代码地址&#xff1a;https://github.com/pinellolab/simba. 摘要 大多…...

d3-quadtree 的属性、方法、示例

D3.js 的 d3-quadtree 模块提供了用于构建二维空间索引的数据结构&#xff0c;即四叉树&#xff08;Quadtree&#xff09;。四叉树可以高效地存储和查询大量点数据。下面列出了 d3-quadtree 的主要属性和方法&#xff0c;并提供了一个简单的 Vue 组件示例&#xff0c;展示如何使…...

初次体验加猜测信息安全管理与评估国赛阶段训练习

[第一部分] 网络安全事件响应 window操作系统服务器应急响应流程_windows 服务器应急响应靶场_云无迹的博客-CSDN博客 0、请提交攻击者攻击成功的第一时间&#xff0c;格式&#xff1a;YY:MM:DD hh:mm:ss1、请提交攻击者的浏览器版本2、请提交攻击者目录扫描所使用的工具名称…...

在WSUS中删除更新

WSUS中更新的管理逻辑 如果你探索过WSUS控制台界面&#xff0c;就会发现WSUS只给你提供了批准&#xff08;Approve&#xff09;和拒绝&#xff08;Decline&#xff09;更新的选项&#xff0c;并无办法删除更新。 如果你去WSUS服务器清理导向&#xff08;WSUS Server Cleanup …...

5分钟轻松搭建Immich图片管理软件并实现公网远程传输照片

文章目录 前言1.关于Immich2.安装Docker3.本地部署Immich4.Immich体验5.安装cpolar内网穿透6.创建远程链接公网地址7.使用固定公网地址远程访问 前言 本篇文章介绍如何在本地搭建lmmich图片管理软件&#xff0c;并结合cpolar内网穿透实现公网远程访问到局域网内的lmmich&#…...

数据集-目标检测系列- 昙花(昙花一现) 检测数据集 epiphyllum >> DataBall

数据集-目标检测系列- 昙花&#xff08;昙花一现&#xff09; 检测数据集 epiphyllum >> DataBall DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#xff0c;持续增加中。 贵在坚持&#xff01; 数据样例项目地址&#xff1a; * 相关…...

开源POC库推荐

声明 学习视频来自 B 站UP主泷羽sec&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 ✍&#x1f3fb;作者简介&#xff1a;致…...

vue3项目部署在阿里云轻量应用服务器上

文章目录 概要整体部署流程技术细节小结 概要 vue3前端项目部署在阿里云轻量服务器 整体部署流程 首先有一个Vue3前端项目和阿里云应用服务器 确保环境准备 如果是新的服务器&#xff0c;在服务器内运行以下命令更新软件包 sudo apt update && sudo apt upgrade -y …...

javascrip页面交互

元素的三大系列 offset系列 offset初相识 offset系列属性 作用 element.offsetParent 返回作为该元素带有定位的父级元素&#xff0c;如果父级没有定位&#xff0c;则返回body element.offsetTop 返回元素相对于有定位父元素上方的偏移量 element.offsetLeft 返回元素…...

【U盘车载音乐】某宝198的3068首车载专用音乐合集【高音质】24G

「【U盘车载音乐】某宝198的3068首车载专用音乐合集【高音质】24G」 复制下方口令&#xff0c;打开最新版「夸克APP」即可获取保存&#xff08;防止和谐&#xff01;&#xff01;&#xff01;&#xff09; 口令&#xff1a; 动作懿范鉴真渡多好备用口令&#xff1a; /~19dc35…...

【论文阅读】WGSR

0. 摘要 0.1. 问题提出 1.超分辨率(SR)是一个不适定逆问题&#xff0c;可行解众多。 2.超分辨率(SR)算法在可行解中寻找一个在保真度和感知质量之间取得平衡的“良好”解。 3.现有的方法重建高频细节时会产生伪影和幻觉&#xff0c;模型区分图像细节与伪影仍是难题。 0.2. …...

打造智能化在线教育平台详解:教培网校APP的架构设计与实现

本篇文章&#xff0c;小编将以教培网校APP的架构设计与实现为核心&#xff0c;深入探讨如何打造一套智能化的在线教育平台&#xff0c;为企业和教育机构提供落地参考。 一、在线教育平台的核心功能需求 构建一个高效的教培网校APP&#xff0c;首先需要明确其核心功能需求。一…...

使用同一个链接,如何实现PC打开是web应用,手机打开是一个H5应用

当我们希望通过同一个 URL&#xff0c;根据访问设备展示不同的页面时&#xff0c;可以选择以下几种方法&#xff1a; 方法一&#xff1a;通过 User-Agent 前端判断设备类型并跳转 利用前端 JavaScript 获取浏览器的 User-Agent 字符串&#xff0c;判断设备类型&#xff0c;跳转…...

STM32-- 调试 -日志输出

在调试嵌入式程序时&#xff0c;输出日志是非常重要的环节&#xff0c;可以帮助开发者定位问题、监控程序状态和性能。以下是几种常见的日志输出方式及其适用场景&#xff1a; 1. 使用串口&#xff08;UART&#xff09;输出日志 实现方式&#xff1a; 通过串口将日志输出到主…...

Python爬虫案例八:抓取597招聘网信息并用xlutils进行excel数据的保存

excel保存数据的三种方式&#xff1a; 1、pandas保存excel数据&#xff0c;后缀名为xlsx; 举例&#xff1a; import pandas as pddic {姓名: [张三, 李四, 王五, 赵六],年龄: [18, 19, 20, 21],住址: [广州, 青岛, 南京, 重庆] } dic_file pd.DataFrame(dic) dic_file…...

小试牛刀-Anchor安装和基础测试

目录 一、编写目的 二、安装步骤 2.1 安装Rust 设置rustup镜像 安装Rust 2.2 安装node.js 2.3 安装Solana-CLI 2.4 安装Anchor CLI 三、Program测试 四、可能出现的问题 Welcome to Code Blocks blog 本篇文章主要介绍了 [Anchor安装和基础测试] 博主广交技术好友&…...

51单片机基础01 单片机最小系统

目录 一、什么是51单片机 二、51单片机的引脚介绍 1、VCC GND 2、XTAL1 2 3、RST 4、EA 5、PSEN 6、ALE 7、RXD、TXD 8、INT0、INT1 9、T0、T1 10、MOSI、MISO、SCK 11、WR、RD 12、通用IO P0 13、通用IO P1 14、通用IO P2 三、51单片机的最小系统 1、供电与…...

RocketMQ文件刷盘机制深度解析与Java模拟实现

引言 在现代分布式系统中&#xff0c;消息队列&#xff08;Message Queue, MQ&#xff09;作为一种重要的中间件&#xff0c;扮演着连接不同服务、实现异步通信和消息解耦的关键角色。Apache RocketMQ作为一款高性能的分布式消息中间件&#xff0c;广泛应用于实时数据流处理、…...

python语言基础-5 进阶语法-5.3 流式编程

声明&#xff1a;本内容非盈利性质&#xff0c;也不支持任何组织或个人将其用作盈利用途。本内容来源于参考书或网站&#xff0c;会尽量附上原文链接&#xff0c;并鼓励大家看原文。侵删。 5.3 流式编程&#xff08;参考链接&#xff1a;https://www.zhihu.com/question/59062…...

JVM性能分析工具JProfiler的使用

一、基本概念 JProfiler&#xff1a;即“Java Profiler”&#xff0c;即“Java分析器”或“Java性能分析工具”。它是一款用于Java应用程序的性能分析和调试工具&#xff0c;主要帮助开发人员识别和解决性能瓶颈问题。 JVM&#xff1a;即“Java Virtual Machine”&#xff0c…...

面试题: Spring中的事务是如何实现的?

Spring中的事务是如何实现的? 背景个人原因的背景正规一点的背景 答案一些思绪和灵感个人理解程度拓展知识Spring的事务管理主要涉及哪几个类?在Spring中&#xff0c;事务管理的流程是怎样的? 背景 个人原因的背景 想换工作, 刷面试题看到的问题, 简单记录一下, 算是个人…...

vue2-代理服务器插槽

解决跨域问题 配置代理服务器 代理服务器位于前端应用(客户端)和真实的后端服务器之间。当配置了代理服务器后&#xff0c;前端应用的请求不再直接发送到后端服务器&#xff0c;而是发送到代理服务器。代理服务器在接收到请求后&#xff0c;会根据预先配置的规则将请求转发到真…...