LiquidAI/LFM2-350M-ENJP-MT を使った、英語から日本語専用の常駐翻訳アプリです。常駐中にコピー操作を短時間で 2 回押すと、クリップボード内の英語テキストを翻訳して、選択位置付近にポップアップ表示します。macOS では Option+Cmd+T (Cmd+Opt+T) で範囲選択スクリーンショットから OCR 翻訳も実行できます。
- UI:
PySide6 - グローバルキー監視:
pynput - OCR:
Vision/Quartz(PyObjC) - 推論:
llama-cpp-python - モデル:
LiquidAI/LFM2-350M-ENJP-MT-GGUF
- macOS
- Python 3.11 以上
- アクセシビリティ権限
- コピー操作のグローバル監視に必要
- 画面収録権限
- OCR 用の範囲スクリーンショットに必要
python3 -m venv .venv
source .venv/bin/activate
pip install -e .初回起動時に Hugging Face からモデルを取得します。デフォルトでは公式 GGUF の Q8_0 量子化を選びます。
shunyakuまたは:
python3 -m shunyaku.app- 英文を選択してコピーする
- macOS:
Cmd+C - その他:
Ctrl+C
- macOS:
- 続けてもう一度同じキー操作を押す
- マウスカーソル付近に、日本語訳の長さに応じたサイズのポップアップが表示される
- macOS で
Option+Cmd+T(Cmd+Opt+T) を押す - 標準の範囲選択 UI で翻訳したい領域を選ぶ
- 抽出テキストのプレビューが出た後、日本語訳がポップアップ表示される
- 選択をキャンセルした場合は何も起きない
- 英語テキストのみを対象とします
- 連打判定の既定値は 0.75 秒です
- クリップボードが空、または英字比率が低い場合は翻訳しません
- OCR は macOS の標準スクリーンショット UI を使います
- OCR は
en-US前提で文字認識します - 翻訳中は選択位置付近のポップアップに進捗を表示します
SHUNYAKU_MODEL_REPO- デフォルト:
LiquidAI/LFM2-350M-ENJP-MT-GGUF
- デフォルト:
SHUNYAKU_MODEL_QUANT- デフォルト:
Q8_0
- デフォルト:
SHUNYAKU_DOUBLE_COPY_WINDOW_MS- デフォルト:
750
- デフォルト:
SHUNYAKU_MAX_TOKENS- デフォルト:
256
- デフォルト:
SHUNYAKU_CTX- デフォルト:
2048
- デフォルト:
SHUNYAKU_GPU_LAYERS- デフォルト:
0
- デフォルト:
pynput によるグローバルキー監視のため、起動に使うターミナルにアクセシビリティ権限が必要です。
macOS ではターミナルの Ctrl+C が割り込みシグナルと衝突するため、アプリのトリガーには Cmd+C のみを使います。
OCR 範囲翻訳には システム設定 > プライバシーとセキュリティ > 画面収録 の許可も必要です。
システム設定 > プライバシーとセキュリティ > アクセシビリティ と 画面収録 で有効化してください。
- 自動起動登録
- 翻訳履歴
本プロジェクトは MIT License のもとで公開しています。
| ライブラリ | ライセンス |
|---|---|
| PySide6 | LGPL v3 |
| pynput | LGPL v3 |
| llama-cpp-python | MIT |
| huggingface-hub | Apache 2.0 |
| pyobjc-framework-Quartz | PSF |
| pyobjc-framework-Vision | PSF |
LiquidAI/LFM2-350M-ENJP-MT は Liquid Foundation Models License 1.0 のもとで公開されています。商用利用の可否については同ライセンスをご確認ください。