📝 更新日志
本文档记录了 i18n Mage 扩展的所有重要变更。
格式遵循 Keep a Changelog 规范,并且本项目遵循 语义化版本 准则。
[1.1.6] - 2025-11-17
新增
- 灵活语言文件结构配置:新增
languageStructure设置,支持根据项目需求选择嵌套或扁平的文件结构组织方式。 - 智能点号转换控制:新增嵌套结构下的点号使用控制,禁用时可自动将
"a.b"形式键名转换为层级对象{ a: { b: "" } }。 - 自动路径前缀生成:
keyPrefix配置新增auto-path选项,支持基于文件路径自动生成前缀并按目录结构创建嵌套键名。 - 前缀排除列表:新增
stopPrefixes配置,允许自定义需要排除使用的键名前缀列表。
优化
- 修复操作交互升级:将文件内未定义词条的修复操作从 CodeLens 改为 CodeAction 形式,解决编辑器自动聚焦问题,提升用户体验。
- 动态词条显示精度:修正动态拼接词条文案装饰的显示位置,确保提示信息精准对齐。
修复
- 特殊字符键名导航:解决含非特殊含义点号的键名在使用 F12 导航时无法正确跳转到源语言文件对应位置的问题。
- 多层级路径前缀解析:修复翻译目录存在不同层级语言文件时键名前缀读取错误的路径解析问题。
[1.1.5] - 2025-11-11
新增
- 智能键值导航:现在在词条 key 上按 F12 可直接跳转到翻译源语言文件的对应键值位置,提供快速定义定位。
- 动态词条增强展示:强化动态拼接词条的提示展示,匹配到多个 key 时显示所有翻译内容(以 " | " 分隔),并支持悬浮信息查看全部匹配键值。
- CodeLens 快捷操作:为当前文件内的未定义词条添加 CodeLens 快捷按钮,支持一键提取为新词条或忽略操作。
- 快速翻译预览:新增 QuickSelect 功能,可查看当前文件所有词条翻译,选中后直接跳转到使用位置(通过右键菜单或 Ctrl+Alt+T 触发)。
- 跨平台快捷键支持:为 Mac 用户新增 Command 键快捷键支持,提升跨平台使用体验。
优化
- 精准变量识别规则:调整变量名判定规则,全大写英文字母不再被误判为变量,下划线连接的英文字母正确识别为变量。
- 字符串字面量可视化:开启“扫描字符串字面量”配置后,侧边栏“当前文件”模块的“已定义”分区现在会展示所有潜在词条信息。
修复
- 提取范围隔离:解决单独提取未定义文案时错误弹出全局缺失翻译操作交互的范围混淆问题。
[1.1.4] - 2025-10-31
优化
- 智能框架检测:国际化框架配置新增
auto选项并设为默认值,采用更精准的自动检测逻辑,简化项目配置流程。 - Vue-I18n 动态语法支持:增强对 Vue-I18n 数组形式动态拼接用法的识别能力,确保复杂模板语法下的词条正确显示。
修复
- 内联翻译颜色实时更新:解决手动更改浅色/深色主题的翻译文本颜色后未立即生效的视觉反馈问题。
- 单文件提取范围精准化:修正单文件提取未定义词条时错误包含全局词条的范围判断问题。
- 嵌套对象结构解析:解决嵌套对象结构的语言文件在生成类别树时数据构建错误的解析问题。
[1.1.3] - 2025-10-28
新增
- 多样化内联翻译展示:新增内联翻译装饰的呈现方式配置,支持将翻译文本与原始文本并行展示,提供更灵活的代码阅读体验。
- 斜体装饰样式:新增支持将翻译装饰以斜体样式展示,增强视觉区分度。
- 普通字符串翻译支持:扩展内联翻译装饰功能,现支持对普通字符串文本应用翻译装饰。
- 智能键名回退策略:新增提取未定义词条时生成 key 失败的回退机制,提供传统文件名编号和 AI 智能生成两种恢复方案。
优化
- 配置字段命名统一:优化写入规则模块配置命名字段,移除冗余前缀,提升配置项的一致性(如
generatedKeyStrategy→keyStrategy)。 - 命名空间智能处理:针对 react-i18next 和 i18next 框架,优化默认命名空间词条的引入格式,避免不必要的命名空间前缀添加。
修复
- React 项目命名空间识别:解决使用 react-i18next 或 i18next 的国际化项目在插件初始化时命名空间策略判断错误的问题。
- 修复预览数据同步:修正修复预览界面中选中数量显示与实际选中数量可能不一致的数据同步问题。
- 多语言文件写入完整性:解决应用修复结果时可能出现的个别语言文件遗漏写入的完整性问题。
[1.1.2] - 2025-10-21
新增
- 扩展翻译服务支持:新增 ChatGPT 和有道翻译作为可选的翻译服务提供商。
- 增强谷歌翻译集成:新增支持配置官方谷歌翻译 API Key,配置后将调用官方 API,未配置时仍使用现有的免费谷歌翻译服务。
- 灵活缩进格式支持:写入语言文件时新增支持 tab 缩进,提供更符合不同团队习惯的代码格式化选项。
优化
- 默认键前缀策略调整:将新生成 key 的前缀默认值由
none调整为manual-selection,提供更友好的键名生成体验。 - 配置描述文案精炼:将翻译内联提示的背景透明度配置描述修正为"不透明度",避免用户理解混淆。
修复
- 多语言文案显示纠错:解决插件面板"同步信息"模块中各语言板块错误显示参考语言文案而非对应语言文案的问题。
- 插件初始化刷新机制:修复插件初始化完成后未自动刷新导致的内联翻译装饰、当前显示语言等信息未及时展示的问题。
- 预览数据应用一致性:解决在修改预览界面中更新数据后,实际应用的仍是修改前数据的同步问题。
[1.1.1] - 2025-10-13
优化
- 增强词条悬浮提示交互:强化词条悬浮提示功能,新增支持快速定位到语言文件定义位置、一键复制文案、实时翻译缺失文案等便捷操作。
修复
- 悬浮提示编辑功能:解决词条悬浮信息展示中的编辑按钮点击不生效的问题。
- 修复结果数据同步:修正取消应用修复结果后,插件界面数据仍显示修复结果而非原始状态的同步问题。
- 变量词条过滤逻辑:解决在开启"忽略疑似变量"配置时,全局修复过程中疑似变量的未定义词条仍错误出现在选择列表中的问题。
- 面板数据实时更新:修复插件面板"当前文件"模块在某些情况下词条信息未及时刷新的问题。
- 自动补全触发机制:解决 key 自动补全功能在特定情况下未正确触发的异常情况。
- 修正修复结果反馈:优化修复成功提示信息,改进进度条展示效果。
[1.1.0] - 2025-10-09
新增
- 精细化修复操作:现在支持针对单个词条进行精准操作,包括为未定义词条单独生成新键、为特定语言补充翻译、为单个缺失翻译项进行补全。
- 智能代码补全:为翻译函数添加智能提示功能,输入
t("时自动弹出词条候选列表,支持按键名、键值、中文拼音及首字母进行智能匹配。 - 多样化键名生成:支持基于拼音或英文翻译自动生成键名,提供更灵活的命名选择。
- 智能变量识别:新增配置选项,控制是否将检测到的变量文本排除在未定义词条提取范围之外。
- 可配置翻译范围:新增选项控制生成新键时的翻译补全范围,可按需选择最小语言集或全语种翻译。
优化
- 键长度计算逻辑:优化
maxGeneratedKeyLength的作用范围,现在仅统计键名本身而非完整路径(如common.test只计算test部分)。 - 语言校验机制升级:扩展
validateLanguageBeforeTranslate的应用场景,现同时适用于新键生成和缺漏翻译补全。增强校验失败时的处理选项,支持跳过、保留原值、强制翻译或切换翻译源等操作。 - 文档系统重构:将中文文档迁移至全新的 VitePress 站点,提供更完善的使用指南和 API 文档。
修复
- 状态栏显示异常:修复在非国际化项目中状态栏错误显示语言信息的问题。
- 特殊字符处理:解决扁平文件结构中包含点符号的键名在生成新词条时被意外转义的问题。
- 排序功能失效:修复部分情况下修复操作后排序规则未正确应用的问题。
[1.0.7] - 2025-09-28
新增
- 状态栏语言信息:在状态栏添加了当前显示语言和翻译源语言信息显示,点击后可重新选择对应语言。
变更
- 统一语言文件结构:整合了各语言的文件结构,在选择未定义词条写入文件位置时即可选择部分语言不存在的文件位置(不存在的话写入时会自动创建对应文件)。
- 增强语言文件解析:优化了语言文件数据提取逻辑,提供完整的语法分析、精确的目标识别和更好的容错机制。
- 简化提示信息显示:在插件面板同步情况模块中,移除了“正常”和“多余”两个类别词条的全语种翻译提示,仅对“缺失”和“空值”两个类别展示,使界面更加清晰。
修复
- 空对象选择问题:解决了语言文件内如果有嵌套的空对象,那么在手动选择未定义词条写入的对象时无法选择这个空对象的问题。
[1.0.6] - 2025-09-19
修复
- 数组值解析异常:解决了翻译文件含数组值时词条解析异常的问题。
- 参考语言同步问题:解决了在配置文件中更改参考语言时插件未同步更新的问题。
- 数组值导航问题:修正了值为数组的词条未能正确跳转到对应定义位置的问题。
- 单文件清理问题:解决了清除未使用词条时无法删除单文件内所有词条的问题。
[1.0.5] - 2025-09-17
新增
- 单文件操作:现在可以在打开的文件里右键选择复制词条和修复未定义词条了。
- 命名空间配置:新增命名空间配置,控制翻译键命名空间的生成策略,可选值:
'auto'(自动推断)、'full'(完整路径)、'file'(仅文件名)、'none'(无命名空间)。 - 诊断开关配置:新增配置用来控制诊断的启用和禁用。
- 手动前缀选择:在 key 前缀生成规则配置中新增手动选择选项,支持对未定义词条文本作为文案生成翻译 key 时手动从已有前缀中选择配置 key 的前缀。
变更
- 优化内联提示颜色:更换翻译内联提示默认文本与背景颜色,采用更柔和专业的色调,最大程度减少对代码的视觉干扰:
- 浅色模式:字体颜色 #2E7D9A,背景色 #9EC9D7,透明度 40%
- 深色模式:字体颜色 #4EC9B0,背景色 #264F48,透明度 60%
- 优化 DeepSeek 文本分隔:进一步优化 deepseek 文本分隔逻辑,解决在只有一条翻译文本时,deepseek 可能会输出分隔符的问题。
修复
- 中文语言检测:解决了 zh 会被识别为繁体中文而不是简体中文的问题。
- 转义字符处理:编辑词条值时添加转义处理,解决了之前无法正常处理换行符等问题,同时对复制词条值功能和翻译悬浮提示的文案展示也做了相应转义处理。
[1.0.4] - 2025-09-09
新增
- DeepL 翻译服务:新增 deepl 翻译服务支持。
- 容器菜单:容器顶部新增三点菜单,菜单下包含查看插件文档、打开插件设置和 issue 反馈等功能按钮。
- 状态栏切换指示器:通过快捷键启用或禁用提示时,会在状态栏出现启用/禁用提示。
变更
- 优化 DeepSeek 解析:优化 deepseek 翻译文案分隔逻辑,解决 deepseek 输出多余换行符导致无法正确解析的问题。
- 调整翻译优先级:将没有 api key 配置要求的谷歌翻译在翻译调用默认优先级中调至最低,同时由于优化了 DeepSeek 的换行符处理,提升 DeepSeek 默认优先级。
- 魔法主题品牌:更换插件修复按钮图标,调整插件描述以及视图名称,使其更具魔法色彩。
- 自动切换视图:运行统计词条信息命令后自动切换到插件在活动栏上的视图面板。
修复
- 诊断与提示关联问题:解决了禁用内联提示后,词条诊断也被禁用的问题。
- 动态装饰清理:解决了先启用再禁用内联提示后,动态词条装饰未消失的问题。
- 引号写入错误:解决了修正未定义词条时引号写入错误的情况。
- 键名大小写问题:解决了修复未定义词条时词条 key 过长采用文件名来组成 key 时,文件名变成全小写的问题。
- 活动栏可见性:解决了打开非国际化项目时,活动栏插件图标未消失的问题。
- 文档和文本优化:优化文案展示,完善文档说明。
[1.0.3] - 2025-09-01
新增
- 增强提示信息:在插件活动栏的"同步信息"模块中使用 tooltip 展示语言目录,在"使用情况"的"未定义"模块添加 tooltip 来提示是否开启了未定义词条修正。
变更
- 键前缀默认值变更:将"写入规则"配置中的 Key Prefix 配置的默认值由 auto-popular 改为 none,避免用户对这个莫名出现的前缀造成困扰。
- 翻译 API 优先级调整:由于 AI 输出的不稳定性,将插件配置中的"翻译 API 优先级"的默认配置中的 deepseek 调整到最后。
修复
- 改进激活条件:完善插件激活条件,补充了"onCommand:i18nMage.*"等多种语言和命令触发器。
- 命令分类:命令添加插件名称 category,用以解决用户打开命令面板时无法通过名称判断该命令是否为本插件的。
- 命令面板参数处理:解决了通过命令面板调用命令报错的问题(兼容了没有入参的情况)。
- 文档和文本优化:优化文案展示,完善文档说明。
[1.0.2] - 2025-08-28
修复
- 修复未定义词条修正逻辑:解决了由于未定义词条修正功能被关闭,导致修正逻辑无法正常启用的问题。
[1.0.1] - 2025-08-28
修复
- 语言文件缩进检测修复:修正了语言文件缩进级别的检测方法,解决了在扁平文件中错误识别的问题。
[1.0.0] - 2025-08-25
新增
- 首次发布:神奇的 i18n 助手来了!
- 树形视图面板:全面展示所有翻译键、状态和同步状态的概览。
- 内联提示:在代码中的
t()函数旁边直接显示翻译文本。 - 智能修复未定义键:自动为未定义文本生成键和翻译。
- 一键翻译补全:集成谷歌、DeepSeek、百度和腾讯翻译 API,自动填充缺失翻译。
- Excel 导入导出:通过 Excel 文件方便地与翻译团队协作。
- 未使用键检测:分析项目以查找并帮助移除未使用的键。
- 深度配置:超过 50 个选项来自定义扩展行为,适应任何项目。
- 为中国开发者内置优化:原生中文界面和内置的国内翻译 API 访问。
已知问题
- 请在 GitHub Issues 页面上报告任何问题。我们重视您的反馈!
