v1.0.1
译泡 · PopLingo
AI 划词翻译 · Chrome 扩展 —— 划词即译,大模型随身翻译气泡。
接入大模型(LLM)的浏览器划词翻译插件。选中网页文本 → 点击浮出的「译」按钮(或按 Alt+T / 右键菜单)→ 流式显示译文。
✨ 功能
- 划词翻译:选中文本后显示图标,点击翻译;也支持划词自动翻译、仅快捷键两种触发模式
- 多服务商接入:
- OpenAI 兼容协议:DeepSeek、OpenAI、月之暗面 Kimi、智谱 GLM、通义千问、硅基流动、Ollama(本地)、任意自定义兼容接口
- Google Gemini(原生协议)
- Anthropic Claude(原生协议)
- 流式输出:逐字显示译文,跟 ChatGPT 一样的打字机效果
- 左右分栏对照:左原文、右译文,带「原文 / 译文」栏目标签与竖向分隔线,字号更大更易读
- 精致弹窗:拖拽移动、右下角调整大小、一键复制、重新翻译、「原文」按钮一键展开/收起(收起后译文独占全宽)、
Esc关闭、自动适配暗色模式 - 快捷入口:
Alt+T快捷键、右键菜单「AI 翻译」、工具栏 Popup 快捷开关 - 可定制:目标/源语言、译文字号、Temperature、自定义 Prompt(支持
{targetLang}{sourceLang}变量) - 隐私安全:API 请求由扩展后台直接发给你配置的服务商,不经过任何第三方中转
📦 安装(开发者模式)
- 打开 Chrome,访问
chrome://extensions/ - 右上角打开 开发者模式
- 点击 加载已解压的扩展程序,选择本目录(
fanyi/) - 点击工具栏拼图图标,把「AI 划词翻译」固定到工具栏
⚙️ 配置模型
- 点击工具栏图标 → ⚙ 模型设置(或在扩展管理页进入「扩展程序选项」)
- 选择服务商(会自动填好接口地址和推荐模型)
- 填入 API Key(Ollama 本地无需 Key)
- 点击 测试连接 验证,保存
推荐服务商
| 服务商 | 获取 Key | 推荐模型 | 备注 |
|---|---|---|---|
| DeepSeek | platform.deepseek.com | deepseek-chat |
便宜好用,国内直连 |
| 智谱 GLM | open.bigmodel.cn | glm-4-flash |
免费额度 |
| 月之暗面 Kimi | platform.moonshot.cn | moonshot-v1-8k |
长上下文 |
| 通义千问 | bailian.aliyun.com | qwen-plus |
阿里云百炼 |
| Google Gemini | aistudio.google.com | gemini-2.0-flash |
有免费额度 |
| Ollama | 本地 ollama serve |
qwen2.5:7b |
无需 Key,完全本地 |
Ollama 用户注意
启动时需允许跨域:OLLAMA_ORIGINS='*' ollama serve,接口地址填 http://localhost:11434/v1,模型名用 ollama list 里的名字。
🖱️ 使用
| 操作 | 效果 |
|---|---|
| 选中文字 | 出现紫色「译」按钮,点击翻译 |
Alt+T |
翻译当前选中文字(可在 chrome://extensions/shortcuts 改键) |
| 右键选中文本 | 菜单「AI 翻译"…"」 |
Esc |
关闭翻译弹窗 |
| 拖弹窗标题栏 / 右下角 | 移动 / 调整大小 |
| 点弹窗顶部「原文」按钮 | 展开 / 收起左栏原文(收起后译文独占全宽,长文各自独立滚动) |
📁 目录结构
fanyi/
├── manifest.json # MV3 清单
├── background.js # Service Worker:LLM API 调用 + SSE 流解析 + 快捷键/右键菜单
├── content/
│ ├── content.js # 内容脚本:划词检测、FAB、翻译弹窗(Shadow DOM 隔离)
│ └── content.css # 占位(样式在 Shadow DOM 内)
├── popup/ # 工具栏弹窗:开关、语言、触发方式
├── options/ # 设置页:服务商、Key、模型、Prompt
├── icons/ # 图标
└── README.md
🚀 版本发布(Gitea Actions 流水线)
流水线跑在 NUC 的 act_runner 上,配置见 .gitea/workflows/:
| 工作流 | 触发条件 | 作用 |
|---|---|---|
ci.yml |
push 到 main / PR |
manifest 校验 + JS 语法检查 |
release.yml |
推送 vX.Y.Z 标签 |
校验版本一致 → 打包 zip → 生成 Changelog → 创建 Release 并上传附件 |
方式一:网页触发(推荐)
打开仓库 Actions → Release workflow → Run workflow,填入版本号(如 1.0.2),点 Run 即可。流水线会自动:
- 把
manifest.json的version同步为该版本号并提交(提交带[skip ci],避免重复触发) - 创建并推送
vX.Y.Z标签 - 打包 zip、生成 changelog、创建 Release 并上传附件
可选填「发布说明」,留空则自动生成;重复触发同一版本是幂等的,不会重复发布。
方式二:本地打 tag
# 1. 更新 manifest.json 中的 version 字段
# 2. 提交
git add -A && git commit -m "release: v1.0.1"
# 3. 打 tag 并推送(tag 必须与 manifest 版本一致,否则流水线报错)
git tag v1.0.1 && git push origin main --tags
发布地址:https://git.zzzjy.cloud/zzzjy/PopLingo/releases
❓ 常见问题
- 本地 HTML 文件不生效:在
chrome://extensions/→ 本插件 → 详情 → 打开「允许访问文件网址」 - API Key 存在哪:Chrome 账号的
storage.sync,随浏览器账号同步,不上传到任何第三方 - 请求失败 401/404/429:分别检查 Key 是否正确、Base URL/模型名是否对、额度是否充足,设置页有「测试连接」可一键诊断
Releases
3
译泡 PopLingo v1.0.2
Latest
Languages
JavaScript
74.5%
HTML
13.1%
CSS
12.4%