QuickTranslate 是一款面向 Windows 与 macOS 的复制即翻译工具。它常驻系统托盘,监控你的剪贴板——任何时候复制一段文字,译文就会以浮窗的形式出现在光标附近。
它删掉的是「切到浏览器 → 打开翻译页 → 粘贴 → 等加载 → 切回文档 → 找回刚才读到哪一行」这十几秒。一份文档几十次,真正被消耗的不是时间,是你刚建立起来的那点专注。
适用场景:读英文文档与论文、处理外文邮件、刷海外内容、终端编译报错、Figma/Jira 里的英文术语……任何能选中并复制文字的地方,它都能用。
| 特性 | 说明 |
|---|---|
| 复制即翻译 | 剪贴板监控触发,无需快捷键,无需切换窗口 |
| 智能浮窗定位 | DPI 感知、多显示器支持,基于真实窗口尺寸与显示器工作区定位,自动避开光标、贴边翻转 |
| 非激活式弹窗 | 不抢夺前台焦点,切换到其他应用时自动关闭,不打断工作流 |
| 五路翻译源 | DeepL / 腾讯 / 百度 / 有道 / Google,配置多个时按顺序自动回退 |
| 多语言互译 | 支持 11 种语言,源语言自动识别,目标语言可选(默认简体中文) |
| 翻译源 | 需要配置 | 免费额度 | 特点 |
|---|---|---|---|
| Google 翻译 | ❌ 免配置 | 无限制 | 开箱即用的兜底源 |
| DeepL | API Key | 50 万字符/月 | 欧美语言质量顶尖 |
| 腾讯翻译君 | SecretId + SecretKey | 500 万字符/月 | 中英互译优秀 |
| 百度翻译 | APP ID + 密钥 | 100 万字符/月 | 中日韩互译友好 |
| 有道翻译 | 应用 ID + 应用密钥 | 新用户赠送额度 | 多语言支持 |
| 特性 | 说明 |
|---|---|
| 熔断与自动回退 | 某个翻译源连续失败时自动熔断,跳过它使用下一个;冷却期后自动探测恢复 |
| 健康感知 | 实时追踪每个翻译源的可用状态,托盘菜单显示实时运行状态 |
| 离线缓存回退 | 所有翻译源不可用时,命中本地缓存则立即显示历史译文(标明来源),无缓存则提示网络中断 |
| 请求策略 | 按翻译源配置请求速率限制与总预算,避免高频触发导致配额耗尽或服务商限流 |
| 剪贴板自愈 | 剪贴板监控异常退出时自动退避重启,确保监控永不丢失 |
| 特性 | 说明 |
|---|---|
| 本地历史记录 | SQLite 存储,支持搜索、收藏(标星永久保留)、删除、导出 |
| 加密存储 | API Key 使用 AES-256-GCM 加密后落盘,密钥绑定当前机器 |
| FIFO 自动清理 | 超出上限时优先删除最旧的未收藏记录,收藏记录永不自动删除 |
| 特性 | 说明 |
|---|---|
| 深浅主题 | 深色 / 浅色 / 跟随系统 |
| 静默更新 | 启动后自动检查,新版本后台下载安装,弹出提示后一键升级 |
| 轻量驻留 | 空闲内存 < 50MB,CPU 占用约 0 |
| 开机自启 | 支持随系统启动 |
| 首次引导向导 | 首次启动引导选择翻译源与目标语言,可跳过使用 Google 兜底 |
其他细节:PDF 断行自动拼接、译文/原文一键复制、同语言直通(不做无谓翻译)、单次 5000 字符上限、翻译源凭证可用性一键验证、托盘菜单一键开关剪贴板监控。
系统要求:Windows 10 / 11(x64),需要 WebView2 运行时(Win11 一般已自带,缺失时安装包会引导安装)。
前往 Releases 页面 下载:
.msi— 推荐,标准安装向导.exe— NSIS 便携安装包
安装包约 5MB,安装完成后从开始菜单或桌面快捷方式启动即可。
系统要求:macOS 13+(Apple Silicon)。
前往 Releases 页面 下载:
.dmg— 磁盘映像,拖入应用程序文件夹即可。
1. 首次启动(半分钟)
首次运行会进入引导向导:选择目标语言,翻译源可直接点「暂时跳过」——内置的 Google 源免配置、开箱即用。
2. 复制一段文字
在任意应用中选中并复制一段外文(Ctrl+C)。
3. 看译文,然后关掉
浮窗出现在光标旁边。看完按 空格 或 Esc 关闭,继续阅读。
之后 QuickTranslate 会安静地待在系统托盘里。右键托盘图标可以打开设置、浏览历史,或临时关闭剪贴板监控。
| 操作 | 效果 |
|---|---|
空格 / Esc |
关闭浮窗 |
| 点击浮窗外任意位置 | 关闭浮窗 |
Enter |
折叠 / 展开浮窗 |
| 红色圆点 | 关闭 |
| 黄色圆点 | 折叠为标题栏(保留待看) |
| 绿色圆点 | 切换标准 / 阅读视口宽度 |
浮窗关闭时会记录当前剪贴板状态,避免误触发;真正重新复制同一段文字才会再次翻译。
支持五路翻译源,可配置多个并启用回退。回退顺序:DeepL → 腾讯 → 百度 → 有道 → Google(兜底)。
- 在设置 → 翻译源中填入对应凭证,可用「验证」按钮即时校验(不消耗翻译配额)。
- 凭证只保存在本地,加密后写入数据库。
- 翻译源随时可切换;主力不可用时自动熔断并回退到下一个,无需手动干预。
各翻译源注册与获取凭证的详细步骤见应用内设置面板。
QuickTranslate 内置多层可靠性保障,确保翻译请求稳定、监控持续运行:
熔断器(Circuit Breaker):每个翻译源独立维护健康状态。连续失败达阈值后进入熔断(Open),后续请求直接跳过;冷却期后进入半开(HalfOpen)探测,成功则恢复,失败则延长冷却。冷却时长按指数退避递增(10s → 30s → 2min → 封顶 10min),并加入 ±20% 抖动避免集群效应。
请求策略(Request Policy):每个翻译源可配置请求速率限制与总调用预算,避免高频翻译触发服务商限流或配额耗尽。
翻译缓存(Translation Cache):翻译结果缓存于本地 SQLite(最多 2000 条,30 天 TTL,单条上限 1000 字符)。仅在全部翻译源不可用时查缓存,在线时结果永远是新鲜的。
请求协调(Request Coordinator):代际闸门机制防止并发翻译请求的结果乱序覆盖。每个新请求生成递增代际号,结果回传前验证仍为当前代,否则丢弃。
剪贴板监控自愈(Clipboard Supervisor):监控线程因剪贴板句柄异常退出时,监督者以退避策略(250ms → 30s,±20% 抖动)自动重建并重启。重启次数纳入健康快照,可在托盘菜单查看。
有界持久化(Bounded Persistence):历史记录与缓存写入通过单条有界队列 + 唯一常驻 worker 处理,与翻译主链路完全解耦。队列满时丢弃并告警,绝不阻塞用户看到译文。
- Node.js ≥ 18
- Rust stable ≥ 1.75
- Tauri CLI 2.x
npm install # 安装依赖
npm run tauri dev # 启动 Tauri 开发模式(含 Vite HMR)仅调试前端(不使用 Tauri API):
npm run devnpm run tauri build # 产物输出到 src-tauri/target/release/npx --noEmit # TypeScript 类型检查
cd src-tauri && cargo fmt --check # Rust 格式检查
cd src-tauri && cargo clippy -- -D warnings # Rust 静态检查推送 v* 标签触发 release workflow,自动构建并发布带签名的 MSI 安装包到 GitHub Releases,同时生成自动更新清单。
git tag v0.3.0
git push origin v0.3.0| 层 | 技术 |
|---|---|
| 前端 | React 19 + TypeScript + Vite + Tailwind CSS + Zustand |
| 后端 | Rust(Tauri 2)+ Tokio 异步运行时 |
| 数据库 | SQLite(rusqlite,WAL 模式,内置 FTS5) |
| 桌面能力 | 系统托盘、剪贴板监控、全局更新器、开机自启 |
核心流程:剪贴板监控线程检测复制 → ClipboardSupervisor 保障存活 → TranslationCoordinator 生成代际、取消旧请求 → 编排浮窗定位与弹出 → 翻译引擎按回退链调用(TranslationEngine + Provider 模式 + 熔断器 + 请求策略)→ 命中缓存回退 → 事件回传前端。
数据流:前端通过 invoke() 调用 Tauri 命令;后端通过 Tauri 事件(translation-result、translation-loading、translation-error)推送结果。配置与历史记录由有界持久化 worker 异步落盘。
复制了但浮窗没出来?
右键托盘图标检查剪贴板监控是否被关闭。另外注意:很多终端里 Ctrl+C 是中断命令而非复制——在 Windows Terminal 中需先选中文字。
能改成快捷键触发,别自动弹吗? 目前是复制即触发。不想被打扰时,托盘菜单一键关闭监控即可。
它会偷偷上传我的数据吗? 只有你复制的文字会发给你自己配置的翻译服务商(翻译的必要条件)。历史记录与 API Key 均保存在本地,Key 加密存储。
占用多少资源? 空闲内存 50MB 以内,CPU 基本为 0,安装包约 5MB。
翻译结果不准 / 翻译源挂了怎么办? 配置多个翻译源并启用回退。主力不可用时自动熔断切换到下一个。托盘菜单可查看各翻译源实时健康状态。网络中断时,已翻译过的内容会从本地缓存回退显示。
有 bug 或功能建议? 欢迎在 Issues 反馈。
本项目为专有软件,仅供个人非商业使用。详细条款见 LICENSE。
