MCPcopy Index your code
hub / github.com/fishjar/kiss-translator

github.com/fishjar/kiss-translator @v2.0.28 sqlite

repository ↗ · DeepWiki ↗ · release v2.0.28 ↗
1,260 symbols 3,303 edges 225 files 240 documented · 19%
README

KISS Translator シンプル翻訳

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

シンプルでオープンソースの バイリンガル対照翻訳拡張機能&ユーザースクリプトです。

kiss-translator.webm

特徴

  • [x] シンプルさを維持
  • [x] オープンソース
  • [x] 主要なブラウザに対応
  • [x] Chrome/Edge
  • [x] Firefox
  • [x] Kiwi (Android)
  • [x] Orion (iOS)
  • [x] Safari
  • [x] Thunderbird
  • [x] 複数の翻訳サービスをサポート
  • [x] Google/Microsoft
  • [x] Tencent/Volcengine
  • [x] OpenAI/Gemini/Claude/Ollama/DeepSeek/OpenRouter
  • [x] DeepL/DeepLX
  • [x] AzureAI/CloudflareAI
  • [x] Chromeブラウザ内蔵AI翻訳(BuiltinAI)
  • [x] 一般的な翻訳シナリオをカバー
  • [x] Webページのバイリンガル対照翻訳
  • [x] 入力ボックス翻訳
    • ショートカットキーで入力ボックス内のテキストを即座に他言語に翻訳
  • [x] テキスト選択翻訳
    • [x] 任意のページで翻訳ボックスを開き、複数の翻訳サービスで比較翻訳が可能
    • [x] 英語辞書翻訳
    • [x] 単語のブックマーク
  • [x] マウスオーバー翻訳
  • [x] YouTube 字幕翻訳
    • 任意の翻訳サービスを使用してビデオ字幕を翻訳し、バイリンガル表示をサポート
    • 基本的な字幕結合・改行アルゴリズムを内蔵し、翻訳品質を向上
    • AIによる改行機能をサポートし、翻訳品質をさらに向上
    • 字幕スタイルのカスタマイズ
  • [x] 多様な翻訳効果をサポート
  • [x] テキスト自動認識と手動ルールの2つのモードをサポート
    • テキスト自動認識モードにより、ほとんどのWebサイトでルールを記述しなくても完全な翻訳が可能
    • 手動ルールモードで、特定のWebサイトに合わせた最適な最適化が可能
  • [x] 翻訳テキストスタイルのカスタマイズ
  • [x] リッチテキストの翻訳と表示をサポートし、原文のリンクやその他のテキストスタイルを可能な限り保持
  • [x] 翻訳文のみの表示(原文を非表示)をサポート
  • [x] 翻訳APIの高度な機能
  • [x] カスタムAPIにより、理論上あらゆる翻訳インターフェースをサポート
  • [x] 翻訳テキストの統合バッチ送信
  • [x] ストリーミング伝送をサポートし、翻訳結果をリアルタイムで表示
  • [x] AIコンテキスト(会話メモリ)機能をサポートし、翻訳品質を向上
  • [x] カスタムAI用語集
  • [x] すべてのインターフェースがフックやカスタムパラメータなどの高度な機能をサポート
  • [x] クライアント間のデータ同期
  • [x] KISS-Worker(cloudflare/docker)
  • [x] WebDAV
  • [x] カスタム翻訳ルール
  • [x] ルールの購読/ルール共有
  • [x] カスタム専門用語
  • [x] カスタムショートカットキー
  • Alt+Q 翻訳をオン
  • Alt+C スタイル切り替え
  • Alt+K 設定ポップアップを開く
  • Alt+S 翻訳ポップアップを開く/選択テキストを翻訳
  • Alt+O 設定ページを開く
  • Alt+I 入力ボックス翻訳

インストール

注:以下の理由により、ブラウザ拡張機能の使用を優先することをお勧めします

  • ブラウザ拡張機能の方が機能が完全です(ローカル言語認識、右クリックメニューなど)
  • ユーザースクリプトはより多くの問題(クロスドメイン問題、スクリプトの競合など)に遭遇する可能性があります

関連プロジェクト

  • データ同期サービス: https://github.com/fishjar/kiss-worker
  • 本プロジェクトのデータ同期サービスとして使用できます。
  • 個人のプライベートなルールリストの共有にも使用できます。
  • セルフホスト、セルフマネジメント、データはプライベート。
  • コミュニティ購読ルール: https://github.com/fishjar/kiss-rules
  • コミュニティによってメンテナンスされた、最新かつ最も完全な購読ルールリストを提供します。
  • ルール関連の問題についての助けを求める。

よくある質問(FAQ)

ショートカットキーの設定方法

拡張機能の管理ページで設定します。例:

ルール設定の優先順位は?

個人ルール > 購読ルール > グローバルルール

グローバルルールの優先順位は最も低いですが、フォールバックルールとして非常に重要です。

API(Ollamaなど)のテストに失敗する

APIテストの失敗には、一般的に以下の原因が考えられます:

  • アドレスが間違っている:
  • 例えば Ollama にはネイティブAPIアドレスと Openai 互換のアドレスがありますが、本プラグインは現在、Openai 互換アドレスをサポートしており、Ollama ネイティブAPIアドレスはサポートしていません
  • 一部のAIモデルが統合翻訳をサポートしていない:
  • この場合、統合翻訳を無効にするか、カスタムAPIを使用して対応できます。
  • または、カスタムAPIを使用して対応します。詳細はカスタムAPIサンプルドキュメントを参照してください
  • 一部のAIモデルでパラメータが一致しない:
  • 例えば Gemini のネイティブAPIはパラメータの不一致が大きく、一部のバージョンのモデルが特定のパラメータをサポートしていないためエラーが返されることがあります。
  • この場合、Hook を使用してリクエスト body を変更するか、Gemini2 (Openai 互換アドレス) に切り替えることができます
  • サーバーのクロスドメイン制限によりアクセスが拒否され、403エラーが返される:
  • 例えば Ollama を起動する際に、環境変数 OLLAMA_ORIGINS=* を追加する必要があります。参考:https://github.com/fishjar/kiss-translator/issues/174

入力したAPIがユーザースクリプトで使用できない

ユーザースクリプトは、リクエストを送信するためにドメインのホワイトリストを追加する必要があります。

カスタムAPIのhook関数の設定方法

カスタムAPI機能は非常に強力で柔軟性があり、理論的にはどんな翻訳APIにも接続できます。

サンプル参照: custom-api_v2.md

ユーザースクリプトの設定ページに直接アクセスする方法

設定ページアドレス: https://fishjar.github.io/kiss-translator/options.html

今後の計画

本プロジェクトは余暇に開発しており、厳密なタイムスケジュールはありません。コミュニティの共同構築を歓迎します。以下は初期段階の機能の方向性です:

  • [x] テキストの統合送信:リクエスト戦略を最適化し、翻訳APIの呼び出し回数を減らし、パフォーマンスを向上させます。
  • [x] リッチテキスト翻訳の強化:より複雑なページ構造やリッチテキストコンテンツの正確な翻訳をサポートします。
  • [x] カスタム/AI APIの強化:ストリーミング伝送、コンテキストメモリ、複数ラウンドの対話など、高度なAI機能をサポートします。
  • [x] 英語辞書のフォールバックメカニズム:翻訳サービスが利用できない場合、他の辞書に切り替えるか、ローカル辞書での検索にフォールバックします。
  • [x] YouTube字幕サポートの最適化:ストリーミング字幕の結合と翻訳体験を改善し、途切れを減らします。
  • [ ] ルール共同構築メカニズムのアップグレード:より柔軟なルールの共有、バージョン管理、コミュニティレビュープロセスを導入します。

特定の方向に興味がある場合は、Issues で議論したり、PRを送信したりすることを歓迎します!

開発ガイド

git clone [https://github.com/fishjar/kiss-translator.git](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など、複数の大規模モデルをサポートしています。

Core symbols most depended-on inside this repo

push
called by 184
src/libs/pool.js
info
called by 53
src/libs/log.js
debug
called by 44
src/libs/log.js
useI18n
called by 41
src/hooks/I18n.js
error
called by 29
src/libs/log.js
type
called by 26
src/libs/utils.js
fetchData
called by 25
src/libs/fetch.js
normalizePrompt
called by 24
src/config/prompt.js

Shape

Function 834
Method 382
Class 44

Languages

TypeScript100%

Modules by API surface

src/libs/translator.js135 symbols
src/subtitle/YouTubeSubtitleList.js68 symbols
src/libs/storage.js46 symbols
src/apis/trans.js44 symbols
src/config/prompt.js37 symbols
src/subtitle/BilingualSubtitleManager.js33 symbols
src/libs/utils.js31 symbols
src/subtitle/sentenceBreaker.js30 symbols
src/libs/translatorManager.js29 symbols
src/apis/index.js27 symbols
src/subtitle/YouTubeCaptionProvider.js26 symbols
src/libs/inputTranslate.js26 symbols

Dependencies from manifests, versioned

@babel/core7.22.20 · 1×
@babel/node7.22.19 · 1×
@babel/plugin-proposal-private-property-in-object7.21.11 · 1×
@babel/preset-env7.22.20 · 1×
@emotion/cache11.11.0 · 1×
@emotion/css11.13.5 · 1×
@emotion/react11.11.1 · 1×
@emotion/styled11.11.0 · 1×
@mui/icons-material5.15.15 · 1×
@mui/lab5.0.0-alpha.170 · 1×
@mui/material5.15.15 · 1×
@streamparser/json0.0.22 · 1×

For agents

$ claude mcp add kiss-translator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact