发布时间:2026/8/26 14:38:40
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/8/26 14:38:40

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

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

2026/8/26 15:33:57

温州眼镜工厂出海:款式多、没团队,三步搭起海外获客体系

温州眼镜工厂出海:款式多、没团队,三步搭起海外获客体系📌 核心结论:瓯海、瑞安马屿眼镜工厂出海,破局的起点不是“建网站、投广告”,而是先建立一套“款式展示→客户触达→询盘转化”的获客体系。眼镜是快…

2026/8/26 15:33:57

PS 怎么调整图片大小不模糊?3 种方法调整大小不影响清晰度

在 Photoshop 日常修图工作中,调整图片大小是最基础也最高频的操作之一。无论是适配电商平台尺寸、制作新媒体配图还是输出打印文件,都需要对图片进行缩放。但很多人操作后会发现图片变模糊、边缘出现锯齿、细节丢失严重,这往往是因为没有掌握…

2026/8/26 15:33:57

C语言指针(二)-- 一维、二维数组与指针的关系

文章目录从纠正一句常见说法开始1、从 arr[i] 开始:数组下标如何定位元素2、数组名何时转换为首元素地址,何时保留数组身份2.1 常见表达式:array 表现为 &array[0]2.2 sizeof(array):数组不会转换2.3 &array:取…

2026/8/26 15:33:57

华为MetaERP # EBS → Fusion BC 预算模块【业务规则对齐实施指南】定位:迁移蓝图「业务规则映射章节」标准内容,承接主数据映射、余额迁移、预算校验逻辑迁移。> > 核心结

EBS → Fusion BC 预算模块【业务规则对齐实施指南】定位:迁移蓝图「业务规则映射章节」标准内容,承接主数据映射、余额迁移、预算校验逻辑迁移。核心结论: EBS 预算模型 总账依附型、CCID 最小粒度、三层占用模型、预算日记账驱动变更 Fusi…

2026/8/26 9:13:28

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 11:48:27

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 16:56:43

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 0:04:32

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 1:19:35

JSON总结

JSON概念 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,主要用于跟服务器进行交换数据。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C、C#、Java、JavaScr…

2026/8/26 1:19:35

保存连接sse 是什么原理,为什么不会一直请求

“保持连接”用的是 SSE(Server-Sent Events),本质是一个没有马上结束的 HTTP 请求。 过程是: 拷贝机发送一次请求: GET /api/code-sync/events服务器返回: Content-Type: text/event-stream但不关闭响应&…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/24 18:13:48

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/25 1:08:14

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…