3. Alfred Workflow の構築
スクリプトのインストール
Alfred から呼び出せるよう,スクリプトを /usr/local/bin/translate に配置します。
cp translate /usr/local/bin/translate
chmod +x /usr/local/bin/translateパスが通っていれば,ターミナルから translate として直接実行することもできます。
Workflow の作成
Alfred の環境設定を開き,Workflows タブで新しい Blank Workflow を作成します。名前は任意ですが,ここでは "Translate" としています。
コンポーネントの構成
本 Workflow は2つのトリガー(Hotkey と Keyword)をひとつの Run Script に接続し,さらに Run Script の出力を Text View に渡す構成になっています。

Figure 1: Workflow の全体構成。Hotkey と Keyword の両トリガーが Run Script に接続される。
Hotkey
Workflow キャンバスを右クリックし,Triggers → Hotkey を選択して追加します。

Figure 2: Hotkey の設定。
- Hotkey:任意のキー組み合わせを設定します。ここでは ⇧⌘T を使用しています
- Action:Pass through to workflow
- Argument:Selection in macOS
Argument を「Selection in macOS」に設定すると,ショートカット実行時にシステムが現在選択中のテキストを取得し,ワークフローに渡します。テキストが選択されていない場合は空文字列が渡されますが,スクリプト側でクリップボードへのフォールバックを実装しているため,この場合はクリップボードの内容が翻訳対象となります。
Keyword
Inputs → Keyword を追加します。

Figure 3: Keyword の設定。
- Keyword:translate
- with space:チェックあり
- Argument:Argument Required
- Title:Translate
Alfred の検索バーに translate と入力し,続けて翻訳対象テキストを入力して Enter を押すと翻訳が実行されます。
Run Script
Actions → Run Script を追加し,HotkeyとKeywordの両コンポーネントから接続します。

Figure 4: Run Script の設定。
- Language:/bin/bash
- with input as argv
- running instances:Sequentially
- Script:
/usr/local/bin/translate "$query"
Alfred は前のステップから渡されたテキストを $query という変数で参照できます。Hotkey 経由では選択テキストが,Keyword 経由ではキーワードに続けて入力したテキストが $query に入ります。"$query" とダブルクォートで囲むことで,スペースや特殊文字を含むテキストも正しく1つの引数として渡されます。
Text View
Outputs → Text View を追加し,Run Script から接続します。

Figure 5: Text View の設定。
- Source:Object Input
- Behaviour:Editable
Run Script の標準出力(echo "$RESULT")が Text View に表示されます。Behaviour を Editable にしておくと,翻訳結果をウィンドウ内で選択・コピーできます。翻訳結果はすでにクリップボードにコピーされているため,Text View はすぐに閉じてペーストするか,内容を確認したい場合に使用します。