PopoTranslation 是一个 Windows 桌面翻译工具。程序常驻系统托盘,在其他应用的输入框中输入文字后,按快捷键即可调用所配置的翻译服务,并尝试将译文回填到原位置。无法安全回填时,可以在应用中查看和复制译文。
- 快捷翻译:默认连续按三次空格翻译整个输入框,也可以配置选区和整框翻译的备用快捷键。程序不会自动发送消息。
- AI 翻译:支持 OpenAI Chat Completions、OpenAI Responses、Anthropic Messages 和 Google Gemini 原生 generateContent 协议。可为每个服务填写自定义请求头和请求体 JSON。
- 机器翻译:支持阿里云、百度翻译、有道智云、DeepL 和阿里百炼 Qwen-MT。
- 历史与缓存:成功的翻译可保存在本机 SQLite 数据库中;原文和翻译配置均匹配时,直接使用缓存译文。历史记录和缓存可分别清空。
- 桌面设置:支持多个服务配置、简体中文和英文界面、系统/浅色/深色主题,以及开机自启动、托盘通知和回填后检测开关。关闭回填检测时,仍会执行回填前安全检查;提交后的结果需要自行确认。关于页面显示应用版本、许可证和项目地址。
目标环境为 Windows 11 x64。应用使用 C#、.NET 10 和 WinUI 3 开发,并支持构建 EXE 安装程序。安装包构建与验证状态见 安装包构建说明。
- 启动应用,从系统托盘打开设置。
- 在「翻译服务」中选择服务类型,填写服务地址、模型和所需凭据,然后保存。机器翻译服务所需凭据因服务商而异。
- 在「翻译设置」中选择目标语言,并按需设置源语言、翻译风格和备用快捷键。
- 在目标应用的输入框输入文字,连续按三次空格触发翻译;也可以使用设置页中的备用快捷键。
- 若应用提示无法确认或无法自动回填,在「翻译结果」中复制译文,检查目标输入框后手动粘贴。
连续三次空格会翻译整个输入框:触发成功时第三次空格被拦截,翻译源文本末尾的半角空格会被移除。终端中不启用三次空格,请先选择文本并使用选区备用快捷键;终端内容不会自动替换。在设置页聚焦快捷键框后,直接按下组合键进行录制并保存;部分系统或其他应用占用的组合可能无法录制或注册。
| 类型 | 服务或协议 | 配置说明 |
|---|---|---|
| AI | OpenAI Chat Completions、OpenAI Responses、Anthropic Messages、Gemini generateContent | 配置服务地址、模型和 API Key;可选填高级请求 JSON。 |
| 机器翻译 | 阿里云、百度、有道智云 | 分别填写对应的访问凭据;机器翻译不使用 AI 翻译风格。 |
| 机器翻译 | DeepL | 默认使用免费版地址,付费版需填写官方 API 地址。 |
| 机器翻译 | 百炼 Qwen-MT | 选择模型及北京或新加坡地域,也可填写业务空间兼容地址;API Key 须与地域匹配。 |
当前机器翻译只映射部分常用语言,阿里云暂不支持繁体中文。服务商可能限制请求长度或改变换行;机器翻译的多行结构检查未通过时不会自动回填。服务可用性和费用以服务商为准。Qwen-MT 的参数与语种限制可查看官方文档。
四种 AI 协议的「高级请求设置」允许填写 JSON 对象。例如,OpenAI 请求体可填写 {"temperature":0.2},Gemini 可填写 {"generationConfig":{"temperature":0.2}}。认证、模型、输入和流式输出等由应用管理的字段不可覆盖;具体可用参数取决于服务商和模型。连接测试需手动触发,可能产生服务费用。
默认数据目录为 %USERPROFILE%\.PopoTranslation。若旧版目录 %LOCALAPPDATA%\PopoTranslation 已存在,程序会继续使用旧目录,不自动迁移或删除数据。
- 开机自启动通过当前用户的 Windows 登录启动项实现,登录后显示应用窗口。移动或卸载程序前请在应用设置中关闭,移动后可重新开启。Windows 的启动应用设置也可能阻止启动。
- 服务配置和应用偏好以 JSON 保存;服务凭据与高级请求设置使用当前 Windows 用户的 DPAPI 加密保护。发起翻译时,原文会发送到所配置的翻译服务。
- 翻译历史和缓存保存在
translations.db,原文和译文以明文保存在本机。历史页面显示最近 50 条记录;数据不会自动过期或限量,清空也不保证安全擦除磁盘残留。服务端模型更新不会自动使缓存失效,需要时可手动清空缓存。 - 诊断日志保存在数据目录的
logs文件夹中,记录目标进程、操作状态和错误类型,不记录原文、译文或 API Key。旧日志不会自动删除。 - 剪贴板兼容路径会短暂占用剪贴板,并尝试恢复原内容。程序写入的临时标记和译文会请求 Windows 将其排除在剪贴板历史和同步之外;由目标应用复制的原文仍可能进入系统或第三方剪贴板历史。
输入读取优先使用 Windows UI Automation;部分社交应用和记事本会使用剪贴板兼容路径。多行文字作为整体翻译,手动换行按 CRLF 处理;自然折行不会被转换成额外换行。剪贴板被占用时会尝试有限重试,仍无法读取时可在结果页面复制译文。
自动回填取决于目标控件和应用行为,跨进程检查与写入并非原子操作。明确标记为受保护的控件不会取文;已知聊天和文本编辑器的剪贴板兼容路径在无法确认密码属性时仍可能读取内容,请避免将焦点放在敏感输入框。输入法组合状态、部分自绘控件、权限不同的窗口和终端存在限制。QQ、微信、Discord、Telegram 等客户端的具体版本仍需实测。更多信息见 兼容性说明。
在「关于」页面选择「检查更新」,应用会查询 GitHub 最新正式版,并在确认后下载 x64 安装程序。下载内容按 GitHub 发布资产的 SHA-256 校验;确认安装后应用退出,由安装程序继续升级并可能请求管理员权限。预发布版本不包含在 latest 查询中。安装程序尚未签名,同源哈希用于检查下载完整性,不能独立证明发布者身份。便携版使用安装程序会创建安装版,建议先备份并确认安装路径。
在 Visual Studio 中打开 popotranslation.slnx,选择 x64 配置。环境要求、构建和测试方法见 开发与构建;模块关系见 架构说明。
GitHub Actions 提供测试及通过版本标签触发的正式版/预发布版工作流,具体用法见 CI 说明。构建成功不代表完成安装、升级、卸载或目标应用兼容性验收;发布前请检查 发布检查清单。
本项目采用 Apache License 2.0。