惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
B
Blog RSS Feed
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
MongoDB | Blog
MongoDB | Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
D
Docker
Jina AI
Jina AI
IT之家
IT之家
人人都是产品经理
人人都是产品经理
L
LangChain Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
博客园 - 叶小钗
The GitHub Blog
The GitHub Blog
The Cloudflare Blog
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
一款专门翻译苹果开发者文档和增强阅读体验的小工具 - 少数派
2025-04-27 · via 少数派

自我介绍:本人是一名前端开发人员,喜欢折腾一些小工具,使用少数派多年,收获不少,现在是时候回馈社区了[doge]。

前言铺垫&个人背景介绍

我之前使用 Craft 写播客,当时 Craft 2.0 的时候支持了插件功能,于是开源了一个 Craft 插件供大家使用(现已不可用);后来 Craft 放弃了插件这条路,于是我转为使用 Notion 写播客,开发了 Notion Flow 这个浏览器插件工具(目前开源): https://notion-flow.xheldon.com,可以让你将 Notion 的内容以自定义的格式发送到 Github 仓库,支持自定义处理 Notion 模块,目前 Chrome 和 Edge 浏览器加起来有上百个用户。

之后我为了自己压缩图片方便,为了隐私和快速,不想使用各种在线压图/压视频/SVGA预览工具,开发了 xPic 客户端工具(目前是手动发码,稳定 Beta 中),地址见: https://xpic.xheldon.com

本人是一个翻译爱好者,一开始是纯人工翻译,工作量巨大,最近一年使用 AI 工具较多,因此对一些之前翻译过的文档重新用 AI 翻译了一遍,如: 可能是最好的 Prosemirror  中文翻译,作者发推推荐: https://prosemirror.xheldon.com  (旧的人工翻译花我半年时间,在 https://old-prosemirror.xheldon.com ,Rust 中文教程: https://rust.xheldon.com

再后来我想写一个苹果应用,因为文档不是母语,所以无法快速找到想要的内容,很是头痛,找了市面上的一些工具,都不是很理想,包括:

沉浸式翻译:

优点:

  1. 支持任意文档翻译。
  2. 商业化成功的典范,项目持续性有保障。

缺点:

  1. 沉浸式翻译进入页面翻译需要等待时间,而且他们使用了懒加载,滚动页面快的话会发现部分页面还未翻译完毕。
  2. 要么需要订阅会员,要么需要自己的 API Token,都是持续性的支出花费,不划算。
  3. 沉浸式翻译的全文翻译,因为没有像其他插件(如简悦)对大量网页的正文部分进行适配,因此会将一些页面的 footer、header、侧边栏都翻译,甚至导致页面错乱,丑不堪言(这点注重美感的苹果开发者肯定受不了)。

我注意到另一个开源项目,叫 Twine by SwiftGG 光 Chrome 插件就有 900 多个安装,它:

优点:

  1. 教程部分也翻译了,人工翻译,不会出现 AI 翻译弱智的情况。
  2. 开源,插件安全有保障。

缺点:

  1. 只翻译 Swift 相关的部分,对其他文档没有处理。
  2. 社区项目,纯手工翻译、依赖自建的后端服务,用爱发电+ 持续支出,我赞扬这种精神(我开发 Notion Flow 也开源了),但这不是一个持久的模式。目前看仓库,最近的更新是 4 个月前。

说了这么多其他的项目的缺点,并不是为了拉踩谁,毕竟各自都有优点和缺点,选择适合自己的就可以。

铺垫了这么多,下面进入正文。

ADDT 插件是什么

全称 Dev Docs Translation for Apple,是一款浏览器插件,可以自动翻译苹果开发者文档,同时有一些功能增强阅读时候的体验。

ADDT 插件能做什么

  1. 苹果文档自动全文翻译(安装插件后需要手动启用),仅翻译正文部分。
  2. 鼠标悬浮在链接,可以查看链接的概要(使用的是苹果自己的数据,没有额外请求),并自定义样式。
  3. 可仅翻译,也可双语对照显示,并自定义样式。

ADDT 插件有什么特色

  1. 使用苹果自己的渲染方式,保持页面简洁。不像沉浸式翻译,每次翻译遍历  DOM 树,把全部层级修改一遍(虽然可以理解是为了适配不同网站和复杂功能而做的取舍)。
  2. 计划全部模块翻译支持。截止发稿时,已经翻译了 Swift、SwiftUI、Foundation、UIKit 等十个热门模块,目前正在进行的有八个模块,计划中的有九个模块,预计两周一更新。
  3. 可以免费使用。基本功能足够,对翻译有疑问或者想双语对照的,可以付费解锁(Safari 是付费下载)一次性付费,不用持续消耗自己的 API Token,不用购买订阅会员。
  4. 使用 AI 多级降级策略,基础翻译模型是 QWen-2.5-14B,如果出现错误,包括翻译中出现大量重复字符、翻译中出现非法字符等,会 fallback 到 QWen-2.5-32B → Grok-2 → Grok-3(感谢马老板每月的 150 刀的额度)。
  5. 使用 Cloudflare 全球 CDN 分发资源,成本低,见效快,物美价廉。

ADDT 插件支持的浏览器

目前支持市面主流浏览器,包括 Chrome、Firefox、Safari。Edge 截止发稿时,正在审核中(快审核两周了,挺无语的)。

官网见: https://appledocs.dev

ADDT 插件的技术细节

沉浸式翻译使用了一些脚本注入的技术,为了双语翻译的时候插入到原始DOM的同级节点,这会引起原始页面布局的错乱,同时如果父级节点样式设置了 overflow: hidden ,则翻译的内容会被截断显示不出来。针对这一问题,他们没有针对性适配苹果开发者网站。

另外,沉浸式翻译在 Safari 下的样式会被 CSP 拦截,这其实是一个很容易解决的问题...

ADDT 插件的实现方式是先获取到苹果文档的接口请求数据后(插件仅有访问https://developer.apple.com/documentation  路径的权限,保证安全),通过查询字典的方式,转换为目标语言的版本,因此使用了苹果自带的翻译方式,不对页面有任何干扰。

关于样式,使用了浏览器自身的 injectCSS  进行注入,不会产生额外的 style 样式来影响页面 DOM 树(1.0.7 版本生效)。

未来计划

  1. 按顺序翻译全部的文档,如果有建议的语言和有限翻译的文档,也可以邮件反馈我会安排优先级。
  2. 增加评论功能。这一点收到我翻译 Prosemirror 文档的影响,地址见 https://prosemirror.xheldon.com/docs/ref/ ,很多朋友反馈说,在接口下面的 译者注 非常有用,我当时也是在使用的时候添加的备注。因此我在考虑是否要用页面 URL 作为 ID,来记录接口的各个评论数据,这个功能优先级较低。
  3. 你有什么建议?

其他

目前官网是半价折扣中,持续到 5 月 1 日;Safari 目前 1 元促销中,也持续到 5 月 1 日。Safari 因为我不会写内购代码,所以设置成下载付费,因此只能在 Safari 浏览器中使用,其他浏览器使用激活码方式,通用。