
OLTranslatorとは
画面上の外国語テキストをOCRで読み取り、日本語訳をその場にオーバーレイ表示するWindows用アプリです。
翻訳したい範囲をドラッグで選ぶだけで、あとは自動でOCRと翻訳を繰り返します。ゲーム、配信、ドキュメントなど、画面に外国語が映っていれば使えます。
開発はVS Code + GitHub Copilotで、約2週間。設計と方針は自分で決めて、実装はAIに任せるスタイルで作った。
主な機能
- ローカルOCR — ネット不要で画面上のテキストを認識します
- ローカル翻訳を同梱 — インストールするだけで翻訳できます。APIキーの設定は不要です
- オンライン翻訳にも対応 — Google Cloud Translation、DeepL、Azure Translator、Amazon Translateが使えます
- オーバーレイ表示 — 翻訳結果が元の文字位置に重なって表示されます。クリックは透過するので操作の邪魔になりません
- 英語・韓国語対応 — ソース言語を切り替えられます
- 常駐型 — システムトレイに入り、選択範囲を記憶します。次回起動時に自動で再開します
使い方
- アプリを起動します
- 翻訳したい画面範囲をドラッグで選択します
- OCRと翻訳が自動で始まり、結果がオーバーレイ表示されます
動作環境
- Windows 10 / 11(64bit)
- x64プロセッサ(AVX2対応推奨)
開発で苦労したところ
一番大変だったのは、OCRで拾ったテキストの扱いです。
画面上の文字は行ごとにバラバラに認識されるので、一つの文が複数のブロックに分かれます。これを正しく繋げないと、翻訳がめちゃくちゃになります。逆に、繋げすぎると別の文が混ざります。
例えば、ゲームのUIで左右に並んだ別々のテキストが一つの文として結合されてしまったり、逆に一文が3行に分かれて別々に翻訳されて意味不明になったり。座標の近さだけで判定すると誤結合するし、厳しくすると今度は分断される。この閾値の調整にかなり時間を使いました。
もう一つは、翻訳しなくていいものを翻訳させないこと。数字だけの行、記号、UIのラベル。こういうノイズを翻訳に回すとAPIトークンの無駄だし、結果もおかしくなります。特にオンライン翻訳はリクエストごとにコストがかかるので、ノイズを減らすことが精度にもコストにも直結する。何を翻訳して何をスキップするか、フィルタリングのルール作りが地味に大変でした。
こだわったところ
いろんな翻訳サービスを気軽に試せるようにしました。ローカル翻訳は同梱してあるのでそのまま使えますし、Google、DeepL、Azure、Amazonのオンライン翻訳もAPIキーを入れるだけで切り替えられます。「どのサービスが自分に合うか」を実際に比べてもらえるようにしたかったので。
ダウンロード
OLTranslator — リアルタイム画面翻訳アプリ(BOOTH)
関連記事
この後、音声版としてLiveTRを作った。こっちはClaude Codeで4日。開発環境の違いによる体感の差は「Copilot → Cursor → Claude Code for VSC。俺が辿り着くまでの話」で書いている。
このブログ「Claude Code 始めました」は、Claude MAX ユーザーが実際の開発で使いながら学んだことを記録していくサイトです。