Skip to content

A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本)

License

Notifications You must be signed in to change notification settings

fishjar/kiss-translator

Repository files navigation

简约翻译

English | 简体中文

一个简约、开源的 双语对照翻译扩展 & 油猴脚本

kiss-translator.webm

特性

  • 保持简约
  • 开放源代码
  • 适配常见浏览器
    • Chrome/Edge
    • Firefox
    • Kiwi (Android)
    • Orion (iOS)
    • Safari
    • Thunderbird
  • 支持多种翻译服务
    • Google/Microsoft
    • Tencent/Volcengine
    • OpenAI/Gemini/Claude/Ollama/DeepSeek/OpenRouter
    • DeepL/DeepLX/NiuTrans
    • AzureAI/CloudflareAI
    • Chrome浏览器内置AI翻译(BuiltinAI)
  • 覆盖常见翻译场景
    • 网页双语对照翻译
    • 输入框翻译
      • 通过快捷键立即将输入框内文本翻译成其他语言
    • 划词翻译
      • 任意页面打开翻译框,可用多种翻译服务对比翻译
      • 英文词典翻译
      • 收藏词汇
    • 鼠标悬停翻译
    • YouTube 字幕翻译
      • 支持任意翻译服务对视频字幕进行翻译并双语显示
      • 内置基础的字幕合并与断句算法,提升翻译效果
      • 支持AI断句功能,可进一步提升翻译质量
      • 自定义字幕样式
  • 支持多样翻译效果
    • 支持自动识别文本与手动规则两种模式
      • 自动识别文本模式使得绝大部分网站无需编写规则也能翻译完整
      • 手动规则模式,可以针对特定网站极致优化
    • 自定义译文样式
    • 支持富文本翻译及显示,能够尽量保留原文中的链接及其他文本样式
    • 支持仅显示译文(隐藏原文)
  • 翻译接口高级功能
    • 通过自定义接口,理论上支持任何翻译接口
    • 聚合批量发送翻译文本
    • 支持AI上下文会话记忆功能,提升翻译效果
    • 自定义AI术语词典
    • 所有接口均支持Hook和自定义参数等高级功能
  • 跨客户端数据同步
    • KISS-Worker(cloudflare/docker)
    • WebDAV
  • 自定义翻译规则
    • 规则订阅/规则分享
    • 自定义专业术语
  • 自定义快捷键
    • Alt+Q 开启翻译
    • Alt+C 切换样式
    • Alt+K 打开设置弹窗
    • Alt+S 打开翻译弹窗/翻译选中文字
    • Alt+O 打开设置页面
    • Alt+I 输入框翻译

安装

注:基于以下原因,建议优先使用浏览器扩展

  • 浏览器扩展的功能更完整(本地语言识别、右键菜单等)
  • 油猴脚本会遇到更多使用上的问题(跨域问题、脚本冲突等)

关联项目

常见问题

如何设置快捷键

在插件管理那里设置,例如:

  • chrome chrome://extensions/shortcuts
  • firefox about:addons

规则设置的优先级是如何的

个人规则 > 订阅规则 > 全局规则

其中全局规则优先级最低,但非常重要,相当于兜底规则。

接口(Ollama等)测试失败

一般接口测试失败常见有以下几种原因:

  • 地址填错了:
    • 比如 Ollama 有原生接口地址和 Openai 兼容的地址,本插件目前统一支持 Openai 兼容的地址,不支持 Ollama 原生接口地址
  • 某些AI模型不支持聚合翻译:
    • 此种情况可以选择禁用聚合翻译或通过自定义接口的方式来使用。
    • 或通过自定义接口的方式来使用,详情参考: 自定义接口示例文档
  • 某些AI模型的参数不一致:
    • 比如 Gemini 原生接口参数非常不一致,部分版本的模型不支持某些参数会导致返回错误。
    • 此种情况可以通过 Hook 修改请求 body ,或者更换为 Gemini2 (Openai 兼容的地址)
  • 服务器跨域限制访问,返回403错误:
    • 比如 Ollama 启动时须添加环境变量 OLLAMA_ORIGINS=*, 参考:#174

填写的接口在油猴脚本不能使用

油猴脚本需要增加域名白名单,否则不能发出请求。

如何设置自定义接口的hook函数

自定义接口功能非常强大、灵活,理论可以接入任何翻译接口。

示例参考: custom-api_v2.md

如何直接进入油猴脚本设置页面

设置页面地址: https://fishjar.github.io/kiss-translator/options.html

未来规划

本项目为业余开发,无严格时间表,欢迎社区共建。以下为初步设想的功能方向:

  • 聚合发送文本:优化请求策略,减少翻译接口调用次数,提升性能。
  • 增强富文本翻译:支持更复杂的页面结构和富文本内容的准确翻译。
  • 强化自定义/AI 接口:支持上下文记忆、多轮对话等高级 AI 功能。
  • 英文词典备灾机制:当翻译服务失效时,可切换其他词典或 fallback 到本地词典查询。
  • 优化 YouTube 字幕支持:改进流式字幕的合并与翻译体验,减少断句。
  • 规则共建机制升级:引入更灵活的规则分享、版本管理与社区评审流程。

如果你对某个方向感兴趣,欢迎在 Issues 中讨论或提交 PR!

开发指引

git clone https://github.com/fishjar/kiss-translator.git
cd kiss-translator
git checkout dev # 提交PR建议推送到dev分支
pnpm install
pnpm build

交流

赞赏

appreciate

About

A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published