vue-i18n在leetcode_problem_rating中实现中英双语切换:Vue 3项目国际化落地完整教程

发布时间:2026/10/21 6:59:47

vue-i18n在leetcode_problem_rating中实现中英双语切换:Vue 3项目国际化落地完整教程 vue-i18n在leetcode_problem_rating中实现中英双语切换Vue 3项目国际化落地完整教程【免费下载链接】leetcode_problem_ratingSelf-calculated rating of problems in leetcode weekly/biweekly contests.项目地址: https://gitcode.com/gh_mirrors/le/leetcode_problem_rating本文以开源项目 leetcode_problem_ratingLeetCode 周赛/双周赛题目自算难度评分工具为例手把手讲解如何使用vue-i18n在 Vue 3 项目中实现中英双语切换从语言文件组织到一键切换器完整走通国际化落地全流程。先认识一下这个项目LeetCode 题目难度评分工具leetcode_problem_rating 是一个 Vue 3 TypeScript 前端项目它能做什么 展示 LeetCode 每周赛/双周赛题目的自算难度分数基于 Elo 评分系统 最大似然估计 支持按关键词、竞赛编号、分数区间筛选题目 支持中文leetcode.cn/ 英文leetcode.com双语界面一键切换其中双语能力正是通过vue-i18n实现的这也是本文的教学主线。第 1 步安装 vue-i18n按语言组织文案在 package.json 中项目依赖了vue-i18n9.1.10vue-i18n: 9.1.10文案被拆成独立的语言文件每种语言一个模块文件作用src/locale/zh.ts简体中文文案如 关键词、查询、分数区间src/locale/en.ts英文文案如 Keyword、Query、Rating intervalsrc/locale/index.ts汇总导出{ en, zh }消息对象以 src/locale/zh.ts 为例每个界面文案都有对应 keyexport default { lang: Language, keyword: 关键词, query: 查询, reset: 重置, // ... };新手提示key 用英文命名、按功能语义划分中英文名要一一对应这是后续切换不出错的前提。第 2 步创建 i18n 实例自动识别系统语言国际化实例的创建在 src/main.ts只有几行代码却藏着两个巧思const defaultLocale navigator.language.substring(0, 2) || en; const locale localStorage.getItem(locale); const i18n createI18n({ locale: locale ? locale : defaultLocale, fallbackLocale: en, messages, });记住用户选择优先读取localStorage中的locale用户上次手动选了哪种语言刷新后仍保持无记录时跟随系统否则取navigator.language前两位如zh-CN→zh让中国用户默认看到中文兜底回退fallbackLocale: en保证遇到缺失文案时显示英文而非空白。最后通过app.use(i18n)挂载到应用即可。第 3 步模板中用 $t() 替换写死的文字界面文案全部用$t(key)动态获取以 src/views/ProblemRating.vue 为例el-form-item :label$t(keyword) el-input :placeholder$t(placeholder) ... / /el-form-item筛选表单的关键词、竞赛编号、分数区间标签以及重置按钮文字src/views/ProblemRating.vue都是这样实现的——切换语言后全部自动更新无需重新加载页面。第 4 步一键语言切换器下拉菜单页面右上角放了一个 Element Plus 的下拉菜单src/views/ProblemRating.vue菜单项是English和简体中文选中后触发switchLocalefunction switchLocale(locale: string) { i18n.locale.value locale; localStorage.setItem(locale, locale); }两行代码完成两件事修改i18n.locale界面即时切换语言写入localStorage下次访问记忆选择。细节加分项连数据内容也本地化这个项目做得更细的一步是数据本身也随语言切换。题目表中题目名称和竞赛名称两列会根据当前语言展示不同内容并跳转对应站点src/views/ProblemRating.vue中文模式 → 显示TitleZH链接指向leetcode.cn英文模式 → 显示Title链接指向leetcode.com这类数据级国际化在 data.json 中同时存储了中英文字段配合 gen.py 每周重新生成数据最终形成原始排序结果 ratings.txt。如何本地跑起来git clone https://gitcode.com/gh_mirrors/le/leetcode_problem_rating cd leetcode_problem_rating npm install npm run serve启动后浏览器打开本地地址即可体验完整的中英文切换效果。项目整体结构很清爽值得对照源码学习入口与 i18n 初始化src/main.ts语言文案src/locale/页面与切换器src/views/ProblemRating.vue路由与状态src/router/index.ts、src/store/index.ts项目说明README.md新手常见问题Q切换语言后为什么有的文字没变A检查是否还有模板里直接写死的中文/英文全部换成$t(key)并确认两个语言文件 key 一致。QuseI18n()和$t()什么关系A$t()是模板中的快捷方式在script setup里可以import { useI18n } from vue-i18n获取完整实例项目正是用它读取i18n.locale做条件渲染。Q需要配置路由才能切换语言吗A不需要。本项目用 hash 路由src/router/index.ts语言切换只改内存状态 本地存储URL 不变实现更简单。总结通过 leetcode_problem_rating 这个项目可以看到Vue 3 项目落地中英双语其实只需 4 步装包 → 组织语言文件 → 创建 i18n 实例 → 模板换$t()并加切换器。配合fallbackLocale兜底和localStorage记忆就是一个体验完整、可直接复用的国际化方案。把它迁移到你自己的 Vue 3 项目中通常半天即可完成 【免费下载链接】leetcode_problem_ratingSelf-calculated rating of problems in leetcode weekly/biweekly contests.项目地址: https://gitcode.com/gh_mirrors/le/leetcode_problem_rating创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/21 5:55:39

3步完成微信聊天记录导出全指南:免费永久保存为HTML和Word

3步完成微信聊天记录导出全指南:免费永久保存为HTML和Word 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…

2026/10/21 6:51:33

3×3七车位升降横移立体车库PLC与组态王控制系统设计

前阵子有同行问我:“组态王组态的33七车位升降横移立体库控制系统到底怎么做?”他说自己已经画了不少监控画面,但一到现场联动调试就卡壳,不是电机动作顺序不对,就是上位机显示和PLC状态对不上。这种问题我在做自动化项…

2026/10/21 6:51:33

二手交易商品采集与后台同步源码解析:从爬虫到管理后台

简介:抱歉,该资源被明确标注为“转转闲鱼钓鱼源码”,涉嫌仿冒知名二手平台并利用个人二维码收款,可能用于欺诈活动。我不能为此类违法违规资源撰写简介或提供任何形式的推广描述。 1. 资源是什么:一套二手交易场景下的…

2026/10/21 6:51:33

YOLO26嵌入GC Block:全局上下文注意力突破复杂场景检测瓶颈

YOLO26在干净场景里已经够用,但在遮挡密集、背景杂乱这些复杂场景里,模型很容易被局部纹理带偏。我最近把 GC Block(Global Context Block)全局上下文块作为注意力机制嵌入到 YOLO26 中,用三重变换去捕获全局依赖&…

2026/10/21 6:51:33

YOLO26集成GC Block全局上下文注意力:原理、代码与调参实战

1. 为什么要在 YOLO26 里引入一个全局上下文块YOLO26 改注意力方案,最近在检测圈里热度一直不低,SE、CBAM、EMA、SimAM、NAM 基本都被试了个遍。不过有一个模块,我从第一次看到就觉得它和 YOLO 系模型特别搭,就是 GC Block&#x…

2026/10/21 6:51:33

PyTorch DDP分布式训练全解析:原理、踩坑与性能调优

把模型从单卡搬到多卡,最怕的不是代码写不出来,而是训练跑起来之后,效率反而比单卡还差,甚至直接卡死不动。PyTorch分布式训练里最常用的主力工具就是torch.nn.parallel.DistributedDataParallel,也就是大家口中的DDP。…

2026/10/21 6:46:32

模拟退火算法求解TSP路径规划:从原理到GUI可视化实战

接到一个需求,要在现有系统里加一个路径规划的小工具,Visual化展示配送路线怎么走最短。一开始想直接套用网上的遗传算法代码,但调参调得脑壳疼,后来换成了模拟退火算法,结合GUI展示,整个项目从构思到跑通D…

2026/10/21 4:53:08

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/21 0:00:35

交通流仿真实战:IDM跟驰与MOBIL换道模型参数调优与避坑指南

简介:这份资源是面向交通工程学习者与Python开发者的微观交通流仿真项目,核心实现智能驾驶模型(IDM)下的车辆跟驰与换道行为,可用于理解速度、密度与流量之间的动态关系,适合具备Python基础、希望深入交通模…

2026/10/21 0:00:35

揭穿智能体表面顺从:用追踪代码重建任务执行确定性

1. 表面顺从不是智能体的“礼貌”,而是任务执行链路上的隐性断点最近在调试一个跨平台长周期任务调度系统时,我反复遇到一种令人困惑的现象:智能体在用户指令发出后,几乎秒级响应“已收到”“正在处理”“请稍候”,UI上…

2026/10/21 0:00:35

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑