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

【Vue✨】Vue3 中英文切换功能实现

Vue3 中英文切换功能实现

在 Vue3 项目中,支持多语言界面的项目,如电商平台、社交媒体、在线教育平台等需要多语言支持的网站会有中英文切换功能。本次我们将使用 vue-i18n 插件来管理语言的切换。

1. 安装依赖

首先,我们需要安装 vue-i18n 插件。打开终端,进入你的 Vue3 项目目录,执行以下命令:

npm install vue-i18n@next

2. 配置 vue-i18n

2.1 创建语言文件

src 目录下,创建一个 locales 文件夹,用于存放语言文件。我们将分别创建 en.jsonzh.json 语言文件。

  • en.json (英语)
{"greeting": "Hello, welcome to our website!"
}
  • zh.json (中文)
{"greeting": "你好,欢迎来到我们的网站!"
}

2.2 配置 i18n

接下来,在 src 目录下的 main.js 中配置 vue-i18n

import { createApp } from 'vue'
import App from './App.vue'
import { createI18n } from 'vue-i18n'// 导入语言文件
import en from './locales/en.json'
import zh from './locales/zh.json'const i18n = createI18n({locale: 'en',  // 默认语言messages: {en,zh}
})createApp(App).use(i18n).mount('#app')

3. 在组件中使用语言

在组件中使用 t 函数来获取翻译后的文本。

3.1 修改 App.vue

<template><div id="app"><h1>{{ $t('greeting') }}</h1><button @click="switchLanguage">Switch Language</button></div>
</template><script setup>
import { useI18n } from 'vue-i18n'const { locale } = useI18n()// 切换语言
const switchLanguage = () => {locale.value = locale.value === 'en' ? 'zh' : 'en'
}
</script><style scoped>
/* 样式可根据需要自定义 */
</style>

在上面的代码中,我们通过 useI18n 获取了 locale,并在按钮的点击事件中切换语言。通过 $t('greeting') 来获取当前语言的翻译。

4. 测试

现在,运行你的 Vue3 项目:

npm run serve

打开浏览器,访问项目地址。你将看到页面显示英语文本,同时可以点击切换按钮来切换中英文。

http://www.lryc.cn/news/615967.html

相关文章:

  • 计算机网络:如何理解目的网络不再是一个完整的分类网络
  • RAG技术与应用
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘optuna’问题
  • Linux环境下实现简单TCP通信(c)
  • TypeScript 中的as const是什么?
  • Shell脚本-变量的分类
  • 从零到精通:嵌入式BLE开发实战指南
  • Spring Boot 全局异常处理与日志监控实战
  • go加速配置(下载第三方库)
  • 元数据管理与数据治理平台:Apache Atlas 通知和业务元数据 Notifications And Business Metadata
  • 《Go小技巧易错点100例》第三十七篇
  • 元数据管理与数据治理平台:Apache Atlas 分类传播 Classification Propagation
  • SQL(结构化查询语言)的四大核心分类
  • 【机器学习深度学习】Embedding 模型详解:从基础原理到实际应用场景
  • MySQL 处理重复数据详细说明
  • 【软件测试】性能测试 —— 工具篇 JMeter 介绍与使用
  • 联合理解生成的关键拼图?腾讯发布X-Omni:强化学习让离散自回归生成方法重焕生机,轻松渲染长文本图像
  • 如何部署图床系统 完整教程
  • ESP32安装于配置
  • Oracle 19C 查看卡慢的解决思路
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年8月10日第159弹
  • Spring Boot 注解详解:@RequestMapping 的多种用法
  • 第4章 程序段的反复执行4 多重循环练习(题及答案)
  • RAGFlow 拉取 Docker 镜像失败
  • 压力测试等工具源码包编译及使用方法
  • 基于python高校固定资产管理系统
  • 【银行测试】保险项目测试点+测试流程详情(二)
  • scanpy单细胞转录组python教程(一):不同形式数据读取
  • java报错“ NoSuchMethodError:com.test.Service.doRoomList(Ljava/lang/String;)V解决方案
  • Gin 框架错误处理机制详解