kiss-translator README

The project's README from github.com/fishjar/kiss-translator. As one markdown file: README.md.

KISS Translator 简约翻译

English | 中文 | 日本語 | 한국어

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

kiss-translator.webm

特性

安装

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

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

关联项目

常见问题

如何设置快捷键

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

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

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

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

如何在网页上直接编辑规则

打开网页翻译面板,点击「编辑网站规则」。选择规则用途后点击「选取元素」,在网页上点击锁定元素;通过祖先路径调整层级,比较不同定位候选及匹配数量,点击「确认添加定位」加入草稿,最后点击主面板的「保存规则」保存。也可以通过「手动添加」输入 CSS 选择器。选取链接时不会跳转,右键可取消选取;副面板中的 ← / → 可按页面顺序浏览匹配元素。

当前支持桌面普通 DOM 网页及其动态内容。iframe、Shadow DOM 内部、Canvas 文字和触屏专用操作暂未纳入可视化选取。油猴同源页面通过浏览器 Web Locks 协调写入;不同源页面共享的 GM 存储没有跨源原子事务保证,编辑器会在检测到外部变更时提示重新读取。

接口(Ollama等)测试失败

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

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

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

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

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

示例参考: custom-api_v2.md

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

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

未来规划

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

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

开发指引

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

外部触发示例

// `toggle_translate`   切换翻译
// `toggle_styles`      切换样式
// `toggle_popup`       打开/关闭控制面板
// `toggle_transbox`    打开/关闭翻译弹窗
// `toggle_hover_node`  翻译鼠标悬停段落
// `input_translate`    翻译输入框
window.dispatchEvent(new CustomEvent("kiss_translator", {detail: { action: "toggle_translate" }}));

交流

赞赏

appreciate

赞助商


ePhone AI
一个面向开发者的 AI 模型 API 中转与聚合平台,支持 OpenAI、Claude、Gemini、DeepSeek、GLM 等多家大模型。

kiss-translator (fishjar/kiss-translator)

Searching Database…

Что это такое?KISS Translator — двуязычный веб-переводчик с открытым исходным кодом, который показывает оригинал и перевод рядом. Он выпускается и как полноценное расширение для браузера, и как пользовательский скрипт Greasemonkey/Tampermonkey. Переводит веб-страницы, поля ввода, выделенный текст и субтитры YouTube.
Это расширение для браузера, пользовательский скрипт или и то и другое?И то, и другое: есть полноценное расширение для Chrome/Edge, Firefox, Kiwi (Android), Orion (iOS) и Thunderbird, а также пользовательский скрипт для Tampermonkey/Violentmonkey. В README рекомендуется расширение, так как в нём больше возможностей, например локальное определение языка и меню по правому клику.
Нужен ли мне API-ключ для движка перевода?Зависит от выбранного сервиса: Google, Microsoft, Tencent и встроенный в Chrome ИИ-перевод работают сразу, без настройки. Сервисам на базе ИИ, таким как OpenAI, Gemini, Claude, Ollama, DeepSeek, DeepL или OpenRouter, нужен собственный API-ключ или адрес эндпоинта.
Что лучше: расширение или скрипт, и есть ли подводные камни?В версии-скрипте чаще возникают проблемы вроде ошибок CORS и конфликтов с другими скриптами, а также нужно вручную добавить домен каждого API перевода в белый список, иначе он вообще не заработает. В расширении большинства этих неудобств нет.
Переводит ли он субтитры YouTube?Да, он может двуязычно переводить субтитры к видео любым поддерживаемым сервисом перевода. Для этого используется встроенный алгоритм склейки субтитров и разбиения на предложения, при необходимости с помощью ИИ, а оформление субтитров можно настраивать.
Можно ли написать собственные правила перевода для конкретного сайта?Да: визуальный редактор позволяет выбирать элементы страницы с помощью CSS-селекторов (целевые элементы, исключённые области, корневой контейнер и т. д.), а селекторы можно добавлять и вручную. Правилами можно делиться и подписываться на списки правил сообщества; личные правила всегда имеют приоритет над подписанными или глобальными.
Можно ли сравнить результаты нескольких сервисов перевода на одной странице?Да: можно открыть всплывающее окно перевода на любой странице и отправить один и тот же текст сразу в несколько настроенных сервисов, чтобы сравнить результаты рядом.
Что делают горячие клавиши по умолчанию?Alt+Q переключает перевод страницы, Alt+C меняет стиль отображения, Alt+K открывает всплывающее окно настроек, Alt+S открывает всплывающее окно перевода или переводит выделенный текст, Alt+O открывает страницу настроек, а Alt+I переводит активное поле ввода.
Creator
fishjar
Size
30 MB
Stars
12.9K
Age
3y
Commits · 90 Days