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

【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.xdnf.cn/news/17449.html

相关文章:

  • java生成用户登录token
  • 人工智能-python-机器学习-模型选择与调优实战指南:从交叉验证到朴素贝叶斯分类
  • MyBatis的xml中字符串类型判空与非字符串类型判空处理方式
  • Pytorch深度学习框架实战教程12:Pytorch混合精度推理,性能加速147%的技术实现
  • 深度解析Linux设备树(DTS):设计原理、实现框架与实例分析
  • 算术运算符指南
  • 如何用分析方法解决工作中的问题?
  • Day11 原理篇
  • 滚动条开始滚动时,左侧导航固定,当左侧内容触底到footer时左侧内容取消固定并跟随滚动条滚动
  • 【Python 小脚本·大用途 · 第 2 篇】
  • 女子试穿4条裤子留下血渍赔50元引争议:消费责任边界在哪?
  • 【星闪】Hi2821 | UART通用异步收发器 + 串口中断收发例程
  • 【人工智能99问】BERT的原理什么?(23/99)
  • 开启单片机
  • 编程基础之多维数组——矩阵交换行
  • 【YOLOv8改进 - C2f融合】C2f融合Outlook Attention:将细粒度特征编码到 token 中, 提高在图像分类和语义分割等任务中的性能
  • 【算法题】:斐波那契数列
  • 【Python】常用内置模块
  • 安全运维工具链全解析
  • Android快速视频解码抽帧FFmpegMediaMetadataRetriever,Kotlin(2)
  • 大模型开发工具的汇总
  • SQL Server从入门到项目实践(超值版)读书笔记 23
  • cursor, vscode黄色波浪线警告问题
  • 从零到精通:嵌入式BLE开发实战指南
  • 计算机网络:(十四)传输层(下)详细讲解TCP报文段的首部格式,TCP 可靠传输的实现与TCP 的流量控制
  • Mybatis和MybatisPlus的对比区分理解法
  • 基于 RabbitMQ 死信队列+TTL 实现延迟消息+延迟插件基本使用
  • 给AI装上“翻译聚光灯”:注意力机制的机器翻译革命
  • Docker 镜像常见标签(如 `标准`、`slim`、`alpine` 和 `noble`)详细对比
  • 编程基础之字符串——统计数字字符个数