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

vue3国际化,主题切换

国际化

安装依赖

pnpm install i18n

pnpm install vue-i18n

main.js

import { createApp } from 'vue'

import App from './App.vue'

import { i18n } from '@/i18n/index';

const app = createApp(App)

app.use(i18n);

app.mount('#app')

根目录创建i18n文件夹,创建3个文件,分别是 index.js   en.js    zh.js 页面使用

//index.jsimport { createI18n } from "vue-i18n";import zh from "./zh.js"import en from "./en.js";const i18n = createI18n({locale: localStorage.getItem("lang") || "zh",legacy: false,globalInjection: true,messages: {zh: {...zh,},en: {...en,},}});export { i18n };//en.jsexport default {"English": "English",}//zh.jsexport default {"English": "简体中文",}

页面使用

<template><div class="demo">{{ $t("English") }}<button @click="changeLanguage('en')">English</button><button @click="changeLanguage('zh')">中文</button></div>
</template><script setup>
import { useI18n } from "vue-i18n";
const { locale } = useI18n();const changeLanguage = (lang) => {locale.value = lang; // 使用 reactive 的方式切换语言localStorage.setItem("lang", lang); // 保存语言设置到 localStorage
};
</script>

主题切换

安装依赖

pnpm install @vueuse/shared @vueuse/core

页面使用

<template><div class="demo"><div>这是一个深色模式的切换demo</div><el-switch inline-prompt v-model="theme" @click="toggle()"> </el-switch></div>
</template><script setup>
import { ref } from "vue";
import { useToggle } from "@vueuse/shared";
import { useDark } from "@vueuse/core";
const theme = ref(false);const isDark = useDark({// 存储到localStorage/sessionStorage中的Key 根据自己的需求更改storageKey: "useDarkKEY",// 暗黑class名字valueDark: "dark",// 高亮class名字valueLight: "light",
});const toggle = useToggle(isDark);
//初始化获取
const init = () => {theme.value = !isDark.value;
};
init();
</script><style>
.demo {height: 100%;width: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;background-color: #fff;
}
//这个就是深色模式
html.dark .demo {background-color: #000;color: #fff;
}
</style>

相关文章:

vue3国际化,主题切换

国际化 安装依赖 pnpm install i18n pnpm install vue-i18n main.js import { createApp } from vue import App from ./App.vue import { i18n } from /i18n/index; const app createApp(App) app.use(i18n); app.mount(#app) 根目录创建i18n文件夹&#xff0c;创建3个文件&…...

Linux Shell 脚本编程基础

打开kali&#xff0c;Xshell连接 一、 vim 1.sh 可利用 #! /bin/bash, #! /bin/dash ,#! bin/sh 这三种脚本解释器不论哪种&#xff0c;最终都是调用 dash 在1.sh内加入内容&#xff0c;尝试执行&#xff0c;./1.sh&#xff0c;但需要加权 或者&#xff0c;在不使用加权的情…...

vuex如何进行状态管理?

**Vuex&#xff1a;是实现组件全局状态&#xff08;数据&#xff09;管理的一种机制&#xff0c;可以方便的实现组件之间数据共享。** (1) 如果是Vue2的环境&#xff0c;不能使用vuex4的版本&#xff0c;所以我们需要安装vuex3以下的版本安装。 创建项目&#xff1a;vue crea…...

嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目

此项目是基于人脸识别的考勤系统开发&#xff0c;包括如下模块&#xff1a; 1、人脸识别考勤系统GUI界面设计&#xff0c;包括&#xff1a; &#xff08;1&#xff09;Qt环境(window环境/linux环境) &#xff1b; &#xff08;2&#xff09;Qt工程创建分析&#xff1b; &am…...

通过阿里云 Milvus 与 PAI 搭建高效的检索增强对话系统

背景介绍 阿里云向量检索服务Milvus版&#xff08;简称阿里云Milvus&#xff09;是一款云上全托管服务&#xff0c;确保了了与开源Milvus的100%兼容性&#xff0c;并支持无缝迁移。在开源版本的基础上增强了可扩展性&#xff0c;能提供大规模 AI 向量数据的相似性检索服务。相…...

评估大语言模型在药物基因组学问答任务中的表现:PGxQA

​这篇文献主要介绍了一个名为PGxQA的资源&#xff0c;用于评估大语言模型&#xff08;LLM&#xff09;在药物基因组学问答任务中的表现。 研究背景 药物基因组学&#xff08;Pharmacogenomics, PGx&#xff09;是精准医学中最有前景的领域之一&#xff0c;通过基因指导的治疗…...

在本地和远程转储域控制器哈希

更多内网知识课前往无问社区查看http://www.wwlib.cn 无凭据 - ntdsutil 如果您没有凭据&#xff0c;但有权访问 DC&#xff0c;则可以使用 lolbin ntdsutil.exe转储 ntds.dit&#xff1a; powershell "ntdsutil.exe ac i ntds ifm create full c:\temp q q" 我们…...

基于SSM+Vue的心理咨询问诊系统+LW示例参考

1.项目介绍 项目角色&#xff1a;管理员、患者&#xff08;普通用户&#xff09;、医师项目模块&#xff1a;医生管理、患者管理、科室管理、咨询管理、预约管理、急救知识、患者病历等测试环境&#xff1a;idea2024、tomcat8.5、maven3、jdk8、nodeV14.16.1、mysql5.7技术栈&…...

基于TMS320X281X/F28335的DSP入门到精通01_如何开始DSP的学习与开发

本部分开始基于《手把手教你学DSP—基于TMS320X281X》&#xff0c;《手把手教你DSP基于MS320F28335 》、《TMS320X281x DSP原理及C程序开发》&#xff0c;另外结合B站视频进行DSP嵌入式的学习。 《手把手教你学DSP—基于TMS320X281X》介绍的相对更为基础和详细&#xff0c;《手…...

Java爬虫获取1688 item_search_img接口详细解析

概述 1688作为中国领先的B2B电商平台&#xff0c;提供了丰富的API接口供开发者获取商品信息。item_search_img接口允许通过图片搜索商品&#xff0c;这对于需要基于图片进行商品查找的应用场景非常有用。本文将详细介绍如何使用Java爬虫技术获取1688的item_search_img接口数据…...

Java 连接 FTP 服务器全解析

Java 连接 FTP 服务器全解析 一、引言 在许多企业级应用和数据处理场景中&#xff0c;与 FTP 服务器进行交互是一项常见且重要的任务。Java 提供了强大的工具和库来实现与 FTP 服务器的连接、文件传输、目录操作等功能。本文将详细介绍如何使用 Java 连接 FTP 服务器&#xf…...

字节跳动C++面试题及参考答案(下)

说说B 树 b + 树 B 树: B 树是一种平衡的多路查找树,它的设计目的是为了减少磁盘 I/O 操作,适用于存储大量的数据并进行高效的查找、插入和删除操作。B 树的节点可以有多个子节点(通常称为多路),每个节点包含多个关键字,关键字之间是有序的。 B 树的结构特点包括:根节点…...

Rabbit MQ知识总结

1.什么是Rabbit MQ&#xff1f; Rabbit MQ是一个开源的消息代理软件&#xff0c;它实现了高级消息队列协议(AMQP); 基本概念 消息&#xff1a;消息是在应用程序之间传递的数据单元。可以是简单的文本信息&#xff0c;可以是复杂的对象。队列&#xff1a;队列是消息的容器&am…...

未来将要被淘汰的编程语言

COBOL - 这是一种非常古老的语言&#xff0c;主要用于大型企业系统和政府机构。随着老一代IT工作人员的退休&#xff0c;COBOL程序员变得越来越少。Fortran - 最初用于科学和工程计算&#xff0c;Fortran在特定领域仍然有其应用&#xff0c;但随着更现代的语言&#xff08;如Py…...

GO环境安装和配置

安装go环境 wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz -P /usr/local或者去官网下载安装包 tar -xzf go1.23.4.linux-amd64.tar.gz sudo mv go /usr/local export GOROOT/usr/local/go export GOPATH$HOME/go export PATH$PATH:/usr/local/go/bin source ~/.bashr…...

面试题整理(四)

1.Max transition,leakage优化,hold time ,setup time violation修复的顺序是? 答:先把max transition修复掉,如果max transition有violation,意味着其超出了查找表范围之外,所以计算得到的delay都不是很准的。 其次是把setup修复了,因为setup相对来说,需要减少cell…...

mathtype中如何在公式和序号之间加点

1&#xff0c;右编号插入公式 2&#xff0c;打开样式面板&#xff08;ctrlshiftalts&#xff09; 3&#xff0c;选中MTDisplayEquation样式&#xff0c;右击修改 4&#xff0c;点击格式&#xff0c;弹出下拉列表&#xff0c;点击制表位 5&#xff0c;先选中34.67字符&#…...

【电源专题】电源芯片的PG(Power Good)管脚是什么?

在看电源芯片规格书时,你会发现有一些电源芯片有PG管脚。如下ti.com.cn/product/cn/tps56637?qgpn=tps56637规格书所示: 对应的描述是:Open Drain Power Good Indicator, it is asserted low if output voltage is out of PG threshold due to over-voltage, under…...

C/C++圣诞树

系列文章 序号直达链接1C/C爱心代码2C/C跳动的爱心3C/C李峋同款跳动的爱心代码4C/C满屏飘字表白代码5C/C大雪纷飞代码6C/C烟花代码7C/C黑客帝国同款字母雨8C/C樱花树代码9C/C奥特曼代码10C/C精美圣诞树11C/C俄罗斯方块12C/C贪吃蛇13C/C孤单又灿烂的神-鬼怪14C/C闪烁的爱心15C…...

牛客--求小球落地5次后所经历的路程和第5次反弹的高度,称砝码

求小球落地5次后所经历的路程和第5次反弹的高度 描述 假设有一个小球从 hh 米高度自由落下&#xff0c;我们不考虑真实的物理模型&#xff0c;而是简洁的假定&#xff0c;该小球每次落地后会反弹回原高度的一半&#xff1b;再落下&#xff0c;再反弹&#xff1b;……。 求小球…...

2026年04月11日最热门的开源项目(Github)

根据提供的榜单&#xff0c;这里是对各个项目的分析和趋势观察&#xff1a; 1. 热门语言分析 Python 是榜单中最常用的编程语言&#xff08;例如&#xff1a;NousResearch/hermes-agent, microsoft/markitdown, OpenBMB/VoxCPM等&#xff09;&#xff0c;显示出Python在开发代…...

MAX31865 RTD测温驱动库:工业级高精度SPI温度采集实现

1. PWFusion_Max31865 库概述&#xff1a;面向工业级 RTD 测温的高精度 SPI 驱动实现PWFusion_Max31865 是一个专为 Maxim Integrated MAX31865 集成电路设计的嵌入式驱动库&#xff0c;核心目标是为 Arduino 兼容平台&#xff08;包括基于 STM32、ESP32、nRF52 等 MCU 的开发板…...

2026年最值得玩的狼人杀,经典版口碑拉满

2026年市面上的狼人杀APP琳琅满目&#xff0c;但真正值得长期玩、口碑好的寥寥无几&#xff0c;而狼人杀经典版就是其中的佼佼者&#xff01;它是2016年底国内第一款狼人杀APP&#xff0c;红色logo、平面卡通画风&#xff0c;玩家俗称“红狼”“口袋狼人杀”&#xff0c;由假面…...

某型高速可回收模块化靶标无人机总体设计方案

1. 总体设计1.1 项目概述与设计目标本方案面向新一代防空武器系统测试、训练需求的高性能靶标无人机。其核心任务是逼真模拟典型高速突防空中威胁&#xff08;如巡航导弹、战斗轰炸机等&#xff09;的飞行特性、电磁特征与机动模式&#xff0c;为防空部队提供高价值、高强度、低…...

Polycide vs. Salicide vs. Silicide: 工艺选择与电阻优化的深度解析

1. 半导体工艺中的硅化物技术&#xff1a;从基础到实战 在芯片制造过程中&#xff0c;金属硅化物技术就像电路中的"高速公路收费站"&#xff0c;直接影响着电流的通行效率。想象一下&#xff0c;当你开车经过收费站时&#xff0c;如果收费窗口太少或者收费员动作太慢…...

周红伟:龙虾安装大全,这应该是最详细的 OpenClaw 安装手册了(附20+张图)

OpenClaw 是一个开源 AI 代理框架&#xff0c;由奥地利开发者 Peter Steinberger 创建&#xff0c;专注于构建自主 AI 代理&#xff0c;能够执行实际任务&#xff08;如写代码、管理文件、浏览网页等&#xff09;&#xff0c;而非仅限于聊天。它从一个简单原型迅速演变为 GitHu…...

Graphify从入门到精通(非常详细),彻底搞懂下一代AI知识库,看这一篇就够了!

摘要 Graphify是一款开源命令行工具&#xff0c;由开发者captainkink07在Andrej Karpathy发文后连夜构建。它能将任意文件夹一键转化为持久化知识图谱&#xff0c;支持19种编程语言&#xff0c;与Claude Code深度集成&#xff0c;实现每次查询减少71.5倍token消耗。上线48小时…...

别再乱删频道了!Conda报‘invalid character(s)’错误的深层原因与一劳永逸的修复指南

Conda版本字符串报错全解析&#xff1a;从根因诊断到永久修复方案 当你在终端输入conda create -n myenv python3.8时&#xff0c;突然跳出的Malformed version string ~: invalid character(s)错误提示&#xff0c;往往让人措手不及。这个看似简单的报错背后&#xff0c;隐藏…...

SITS2026平台重构全记录:从单体Java商城到LLM+RAG驱动的AI原生电商,6周完成核心链路迁移并提升GMV 42%

第一章&#xff1a;SITS2026案例&#xff1a;AI原生电商平台实践 2026奇点智能技术大会(https://ml-summit.org) SITS2026是面向下一代电商基础设施的AI原生平台原型&#xff0c;由阿里云与浙江大学联合实验室在2024年Q4启动构建&#xff0c;于2025年Q2完成全链路灰度验证。该…...

Python双目三维重建系统项目:双目标定、立体校正与双目测距全流程解析

python双目三维重建系统项目 双目标定&#xff0c;立体校正&#xff0c;双目测距&#xff0c;三维重建 该项目旨在带你了解三维重建流程&#xff1a;包括相机标定&#xff0c;立体匹配&#xff0c;深度计算等等 代码包含: 支持双USB连接线的双目摄像头 支持单USB连接线的双目摄…...