Float Translate:選択範囲翻訳、OCR、テキストのクイック操作、カスタムワークフロー

Float Translate は、選択範囲翻訳、OCR、テキストのクイック操作に対応したデスクトップツールです。翻訳とテキスト選択ツールを一つにまとめた理由と、基本機能、システムワークフロー、カスタムワークフローでさまざまな用途に対応する仕組みを紹介します。

Float Translate のフローティングカプセル設定画面。

Float Translate を作り始めたきっかけは、以前から一つにまとまっているべきだと感じていた二種類のソフトウェアです。

一つは Bob のような翻訳ツールで、文字を選択したり画面をキャプチャしたりすると訳文を確認できます。もう一つは PopClip のようなテキスト用クイック操作ツールで、検索やコピーなどの操作を現在の文字の近くで実行できます。

どちらも、まずユーザーが目の前で扱っている文字を取得し、必要な操作を加えます。ソフトウェアの分類では別の名前が付いていますが、最終的には同じところへ向かっています。

翻訳とテキストのクイック操作を一つにする理由

翻訳はもともとテキスト処理の一種です。今回は選択した一文を翻訳したくても、次は検索や説明が必要になるかもしれません。処理方法を変えるために別のアプリを開いても、新しい文字が得られるわけではなく、切り替えが一回増えるだけです。

この二種類の機能を実装するときには、共通する問題も数多くあります。Float Translate は、ほかのアプリの選択範囲を読み取り、グローバルショートカットに応答し、適切な位置へ軽量な画面を表示する必要があります。処理後は元のアプリへ戻り、コピー、貼り付け、置換を完了しなければなりません。

そこで Float Translate は、これらを一つの入口にまとめました。文字を選択したあとに表示されるクイック操作バーで、アプリ内では「フローティングカプセル」と呼びます。翻訳や AI による説明をカプセルへ置き、検索や拡張機能の操作も同じ入口から使えます。キーボード中心のユーザーはカプセルを使わず、よく使う機能へグローバルショートカットを直接割り当てることもできます。

機能が増えても、ボタンを増やし続けるべきではない

翻訳とカプセルを一つにするだけでは、入口の問題しか解決しません。文字に対するニーズは依然として数多くあります。

同じ選択範囲でも、翻訳パネルを開いてサービスを比較したい人もいれば、訳文ですぐに原文を置き換えたい人もいます。画面上の文字なら、最初に OCR が必要になることもあります。すべての処理順を個別の機能にすると、設定画面は少数の人しか使わない項目で埋まってしまいます。

Float Translate は、処理を三種類の基本機能に分けています。

一つ目は、文字の取得元を決めます。文字は選択範囲や画面から取得でき、ユーザーが直接入力することもできます。

二つ目は、文字を処理します。たとえば OCR のあとに翻訳したり、内容を AI へ渡したりします。

三つ目は、結果の出力先を決めます。結果をパネルに表示する、コピーする、原文を置き換えるといった方法があります。

ワークフローが行うのは、これらの機能を選んでつなぐことだけです。ユーザーがスクリプト、テンプレート、式を書く必要はありません。少数の基本機能を組み替えることで、別々に見える多くの機能を作りながら、アプリの固定メニューが増え続けるのを防げます。

よく使う機能は組み立て済み

組み合わせられるからといって、毎回ゼロから設定する必要はありません。よく使う操作は、Float Translate がシステムワークフローとして組み立てています。選択範囲翻訳、スクリーンショット翻訳、クリップボード翻訳などは、ショートカットを割り当ててすぐに使えます。

「入力欄のサイレント翻訳」も、用意済みのシステムワークフローです。現在の入力欄にある文字をすべて選択し、テキストを取得し、画面を開かずに翻訳してから、訳文をコピーして元の入力欄へ貼り付けます。ユーザーはショートカットを一度実行するだけで、翻訳ウィンドウを開く必要も、この五つの手順を自分で組み立てる必要もありません。

Float Translate のワークフローホーム画面。

システムワークフローは一般的な用途を扱い、カスタムワークフローは一人ひとりの場面に使えます。画面上の問題を頻繁に処理するなら、OCR、カスタム AI機能、結果の出力をつなぐこともできます。

OCR で問題を抽出 → カスタム AI 機能で回答条件に沿って処理 → 答えを出力

「AI による問題回答」は固定機能として内蔵するほど一般的ではないかもしれませんが、必要な人は既存の OCR、カスタム AI、結果出力を組み合わせて作れます。プロンプトや出力先を変えれば、同じ機能をまったく別の場面にも利用できます。

Float Translate で現在扱えるテキスト操作

やりたいこと対応する機能
ウェブページや文書で選択できる文字を翻訳する選択範囲翻訳
複数の翻訳サービスの結果を同時に見る選択範囲翻訳パネルの複数サービス比較
パネルを開かず、選択した文字の訳文を取得する選択範囲のサイレント翻訳
文字を入力または貼り付けて翻訳する選択範囲翻訳パネル
現在の入力欄の内容を翻訳する入力欄のサイレント翻訳
クリップボードの文字を翻訳するクリップボード翻訳
画像や動画画面の短い単語を調べるカーソル辞書翻訳
選択・コピーできない画面上の文字を翻訳するスクリーンショット翻訳
現在の画面から原文を抽出するスクリーンショット OCR
ローカル画像から原文を抽出する画像OCR
クリップボード画像から原文を抽出するクリップボード OCR
選択した文字を別のサービスで検索するフローティングカプセルの検索操作
文字をすばやくコピーする、または含まれるリンクを開くフローティングカプセルの一般操作
選択した文字を説明、推敲、要約するAI機能または対応する拡張機能
文字を整形し、指定した内容を置き換えるワークフローのテキスト処理機能
自分用の一連の処理を繰り返すカスタムワークフロー

画面上の文字をコピーできない場合は、画面上のコピーできないテキストを翻訳する方法もご覧ください。同じテキストを複数のサービスで検索する方法は、選択したテキストを Google、Reddit、TikTok などですばやく検索する方法で紹介しています。

拡張機能で能力を増やし、入口は統一する

翻訳サービスや AI機能は拡張機能から提供でき、ほかのテキスト操作も同じ仕組みを利用できます。インストールした機能は翻訳パネルやフローティングカプセルに追加でき、ワークフローの一部にもできます。

これにより、サービスと利用経路を分離できます。使い慣れた選択範囲翻訳の操作を保ったまま、翻訳サービスを変更できます。新しい拡張機能の能力も既存のワークフローへ接続でき、アプリに固定機能が追加されるのを待つ必要はありません。

一般的な使い方なら、システムワークフローだけを使い続けられます。より細かく制御したくなったときに、カプセルを調整したりワークフローエディターを開いたりできます。

ここが、Float Translate と一般的な機能集との大きな違いです。すぐに使える定番機能を提供しながら、それらを構成する基本機能も残しています。一般的な用途はシステムがあらかじめ組み立て、個別の用途はユーザーが自分の場面に合わせて接続できます。