ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Easydict Issue 翻译 Action v2.8.2 升级实录:Google 翻译依赖迁移与固定 tag 发布策略

Easydict Issue 翻译 Action v2.8.2 升级实录:Google 翻译依赖迁移与固定 tag 发布策略 桌面应用AI 应用【免费下载链接】Easydict一个简洁优雅的词典翻译 macOS App。开箱即用支持离线 OCR 识别支持有道词典 苹果系统词典 苹果系统翻译OpenAIGeminiDeepLGoogleBing腾讯百度阿里小牛彩云和火山翻译。A concise and elegant Dictionary and Translator macOS App for looking up words and translating text.项目地址https://gitcode.com/gh_mirrors/ea/Easydict点击查看免费下载导读本文基于 Easydict 仓库中的版本历史记录 2026-09-04-issue-translator-v2.8.2.md 及其关联执行计划 2026-09-04-issue-translator-v2.8.2.md完整还原一次 GitHub Actions 第三方 Action 的依赖修复—发版—更新引用全流程。Easydict 的.github/workflows/issue-translator.yml工作流依赖上游tisfeng/issues-translate-action自动翻译 Issue、评论与 PR review comment本次 v2.8.2 的核心是把已失效的 Google 翻译 npm 包替换为google-translate-api-x10.7.3。读完本文你将掌握上游 Action 依赖迁移的动机与边界、batch RPC 与 provider 拒绝传播的测试要点以及只固定引用已验证 tag、不依赖分支的可复用升级方法论。一、背景Easydict 的 Issue 自动翻译工作流Easydict 仓库通过 .github/workflows/issue-translator.yml 在三个 GitHub 事件上自动触发翻译机器人name: issue-translator on: issue_comment: types: [ created ] issues: types: [ opened ] pull_request_review_comment: types: [ created ] jobs: translate: runs-on: ubuntu-latest steps: - uses: tisfeng/issues-translate-actionv2.9.2 with: IS_MODIFY_TITLE: false PRIMARY_LANGUAGE: zh-CN SECONDARY_LANGUAGE: en CUSTOM_BOT_NOTE: Bot automatically translated this content.说明当前仓库实际固定引用的是v2.9.2后续多次迭代的最终状态而本文记录的是从v2.8.1升级到v2.8.2的那一次关键变更——正是这次升级完成了 Google 翻译依赖的迁移。从工作流配置可以看出三个设计要点触发面广而克制issue_comment新建评论、issues新开 Issue、pull_request_review_commentPR review 评论三个事件均监听但都限定在created/opened类型避免编辑、关闭等低频事件引发冗余翻译。配置参数稳定IS_MODIFY_TITLE: false表示机器人不改写原始标题PRIMARY_LANGUAGE: zh-CN与SECONDARY_LANGUAGE: en构成中文优先的双向翻译CUSTOM_BOT_NOTE是机器人追加的说明文案。引用方式固定uses:直接指向v2.9.2这样的明确 tag绝不使用main或dev分支引用。二、本次变更一次依赖修复 发版 更新引用的三段式交付根据 关联执行计划 的任务契约本次用户请求是修复翻译 Action 后提交、推送并创建可引用的版本再直接在 Easydict 本地dev分支更新翻译工具引用。2.1 变更清单版本历史记录 列出的三项核心变更上游 Action 依赖迁移将已失效的tomsun28/google-translate-api替换为固定版本的google-translate-api-x10.7.3强制使用 Google 网页翻译的 batch RPC并让 provider 拒绝rejection不再传播到顶层失败信息。上游测试与构建补齐新增 batch 选项、原文结果以及 provider 拒绝传播的测试用例并重新生成运行时distbundle。Easydict 引用升级.github/workflows/issue-translator.yml中的引用从tisfeng/issues-translate-actionv2.8.1更新为已推送的v2.8.2。2.2 为什么是三段式而不是直接改引用这条升级路径体现了 Action 消费方的正确姿势先在依赖提供方上游 Action 仓库修复并发版main分支提交为f0170e1913ea679197821b5b7058ed5d9d221f9c带注释的v2.8.2^{}tag 解析到同一提交确保 tag 与代码一一对应再在消费方Easydict更新引用且只更新允许修改的路径.github/workflows/issue-translator.yml、docs/exec-plans/、docs/histories/2026-09/全程不创建 GitHub Release 或 PR将真实翻译行为留给 GitHub 托管 Runner 的后续自然运行来验证。2.3 本次交付的允许范围与禁止范围执行计划明确定义了边界可复用于任何 Action 升级任务维度内容任务模式delivery交付并推送允许动作提交并推送 Action 的main、创建并推送v2.8.2tag、更新本工作流、创建 history 与计划、提交并推送dev允许修改路径.github/workflows/issue-translator.yml、docs/exec-plans/、docs/histories/2026-09/禁止动作不创建 GitHub Release 或 PR不修改其他工作流、产品代码、Xcode 工程或用户内容验收标准Easydict 仅引用已推送的v2.8.2tagYAML 与 diff 静态验证通过dev推送前后均无远端分叉三、技术内核Google 翻译依赖迁移的动机与边界3.1 为什么替换依赖上游 Action 原先依赖tomsun28/google-translate-api该包已失效不再维护或接口不可用。v2.8.2 将其替换为固定版本的google-translate-api-x10.7.3锁定精确版本号而非^10.x浮动范围规避了未来小版本升级引入的不可控变化。3.2 强制使用 Google 网页翻译 batch RPCgoogle-translate-api-x的工作原理是调用 Google 网页版翻译的非官方 batch RPC 接口而非付费的官方 Google Cloud Translation API。本次变更强制走 batch RPC意味着批量翻译请求被合并成一次 RPC 调用减少往返、提升吞吐该协议属于逆向网页接口存在被 Google 调整的风险——这正是执行计划风险与决策一节专门记录的原因。3.3 provider 拒绝传播的语义变化变更同时调整了 provider 的错误处理provider 拒绝不再传播到顶层失败信息。也就是说当某个翻译 provider 拒绝请求时Action 不会把底层原始错误原样抛给用户而是将其收敛/包装避免泄漏敏感细节或造成噪音。这一行为通过新增的回归测试锁定防止后续重构破坏错误边界。3.4 明确的边界决策执行计划的风险记录原文强调两点google-translate-api-x依赖 Google 网页端的非官方 batch RPC本次只更新已固定版本的 Action tag不引入官方 Google Cloud API测试覆盖客户端调用选项和失败传播本地网络无法代替 GitHub 托管 Runner 的真实 Google 连通性验证。这解释了为何该计划不创建 GitHub Release 或 PRGitHub 托管 Runner 的下一次工作流运行将验证真实的 Google 网络连通性——静态验证能证明代码与配置正确但 Google 网页端连通性属于运行时环境问题只能靠真实运行兜底。四、验证体系上游与消费方两侧的检查清单4.1 上游 Action 仓库的验证版本历史记录了完整的上游验证结果npm test -- --runInBand17 项测试全部通过--runInBand表示在单进程中串行运行避免 Jest 并行带来的资源竞争适合 CI 环境稳定复现npm run build、npm run package、npm run format-check、git diff --check全部通过main提交f0170e1913ea679197821b5b7058ed5d9d221f9c已推送v2.8.2^{}解析到同一提交^{}用于取得 annotated tag 指向的最终提交确认 tag 未悬挂。其中npm run buildnpm run package的组合对应 Action 的发布产物流程源码构建后打包为dist/index.jsGitHub Actions 的 JavaScript Action 以dist目录作为运行时入口参见 issue-translator.yml 中uses:的引用方式。4.2 Easydict 消费方工作流的验证工作流 YAML 通过 RubyYAML.safe_load解析执行计划明确记录该项检查git diff --check通过变更范围审计仅有允许路径中的 workflow、计划和 history 变更分支健康检查提交前dev与origin/dev均为f863c541c29d6902a86e62f2660e9ea74ce586ff推送后无远端分叉。4.3 可迁移的升级检查清单综合本次升级可将验证要点归纳为如下清单tag 完整性vX.Y.Z^{}必须解析到预期提交确认 tag 已推送且指向正确运行时契约兼容上游action.yml的 inputs、runs.using运行时如node24与dist/index.js入口保持兼容这是后续 v2.8.3 升级中再次核验的项YAML 可解析用YAML.safe_loadRuby或等价工具验证 workflow 语法diff 纯净性git diff --check无空白错误且变更文件严格落在允许路径内引用唯一性运行时 workflow 中 Action 引用唯一且为预期版本推送安全推送前后本地与远端dev无分叉git fetch后比较HEAD与origin/dev。五、纵深参考一次升级在 Easydict 的完整生命周期如果你希望看到同一条升级路径的后续演化Easydict 的docs/histories/2026-09/与docs/exec-plans/completed/2026-09/目录记录了从 v2.8.2 到 v2.9.2 的完整时间线是研究Action 版本管理实践的第一手资料2026-09-04-issue-translator-v2.8.3.mdv2.8.3 在语言识别前忽略 Markdown 图片和链接中的 HTTP(S) URL避免含中文正文的评论被误判为英文并跳过翻译实际翻译仍使用完整原文。2026-09-05-issue-translator-v2.9.0.mdv2.9.0 引入中文优先双向翻译明确PRIMARY_LANGUAGE是非首选语言内容的目标语言、SECONDARY_LANGUAGE是首选语言内容的目标语言因此日文、韩文和无法识别的文本也会被翻译为简体中文。2026-09-09-issue-translator-v2.9.1.mdv2.9.1 升级前核验了 upstream annotated tag 的 peeled SHA 与发布提交一致Release 为非 draft、非 prerelease。2026-09-17-issue-translator-v2.9.2.mdv2.9.2 沿用同一套核验 tag → 更新 uses 引用 → YAML 与 diff 静态检查流程。这套模式一以贯之先在上游发版并核验 tag 不可变性再在消费方做最小化、静态可验证的引用更新最后交给真实运行环境兜底验证。六、结论与最佳实践Easydict 的 Issue 翻译工作流 v2.8.2 升级是一次教科书级的第三方 Action 依赖治理依赖失效要溯源修复而非绕道上游将失效包替换为固定版本的google-translate-api-x10.7.3用 batch RPC 维持原有 Google 网页翻译能力并明确拒绝引入 Google Cloud API 的架构边界错误语义要测试锁定provider 拒绝不传播到顶层通过回归测试固定行为消费方只认不可变 tagEasydict 侧所有升级都坚持先确认 tag 已推送且 peeled SHA 匹配再更新uses:引用全程不依赖分支、不创建 Release/PR验证分两层静态层测试、构建、打包、YAML 解析、diff 检查与运行时层真实 Runner 上的 Google 连通性各司其职缺一不可。对任何在自己仓库中引用第三方 GitHub Actions 的开发者这套上游发版 → tag 核验 → 最小引用更新 → 双层次验证的方法论可以直接照搬复用。赞分享桌面应用AI 应用【免费下载链接】Easydict一个简洁优雅的词典翻译 macOS App。开箱即用支持离线 OCR 识别支持有道词典 苹果系统词典 苹果系统翻译OpenAIGeminiDeepLGoogleBing腾讯百度阿里小牛彩云和火山翻译。A concise and elegant Dictionary and Translator macOS App for looking up words and translating text.项目地址https://gitcode.com/gh_mirrors/ea/Easydict点击查看免费下载相关推荐Easydict Issue 自动翻译工作流升级实践基于 tisfeng/issues-translate-action v2.9.2Easydict Issue 自动翻译工作流升级实践基于 tisfeng/issues translate action v2.9.2 Easydict 仓库桌面应用AI 应用Easydict 受管 Skills 依赖升级实录以 skills-lock.json 与固定 Tag 快照驱动 tisfeng/skills v0.6.1 同步Easydict 受管 Skills 依赖升级实录以 skills lock.json 与固定 Tag 快照驱动 tisfeng/skills v0.6.1桌面应用AI 应用Easydict 依赖升级治理实践Issue Translator Action v2.9.1 的 tag 钉扎、版本核验与最小变更落地Easydict 依赖升级治理实践Issue Translator Action v2.9.1 的 tag 钉扎、版本核验与最小变更落地 Easydict 在桌面应用AI 应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表