🤖

DeepL+Alfred Workflowで翻訳を制する

2022/01/23に公開

こんな感じで表示してくれます!

対象者

DeepLの翻訳をChrome以外でも使いたい方
Chromeには公式の拡張機能があるためこちらを使うことをお勧めします。

必要なもの・環境

  • DeepL APIのアカウント(Free)
    DeepLのアカウントではなく DeepL APIのアカウントが必要となります。
    ※有料版は非対応となります。。。
    ※Free版を使用するため、1ヶ月に50万文字までしか利用できません。
    https://support.deepl.com/hc/ja/articles/360020685720-DeepL-API-文字数のカウントと請求
  • Alfred Power Pack
    有料ですがめちゃくちゃ便利なのでこれを機に導入をお勧めします!
  • node v14.13.1以上
    ちなみにv14.8.0では正しく動作しませんでした。。。
    正しく動作しない場合は上記を満たすようにnodeのバージョンをあげてください!

Alfredの通知を許可する

このワークフローでは翻訳の開始時と終了時にAlfredの通知を送信します。翻訳の状況を確認したい場合ははAlfredの通知を許可することをお勧めします。

Alfredの通知を許可する
  1. 「システム環境設定」→「通知」押下
  2. Alfred4の通知を許可する
  3. 通知が許可されていることを確認する

Macの設定でコンピュータの制御を許可する

選択している文字列を取得などのコンピュータの制御を許可する必要があります。もしすでに許可しているのであれば不要です。

コンピュータの制御を許可する
  1. 左上の「アップルマーク」→「システム環境設定...」押下
  2. 「セキュリティとプライバシー」押下
  3. 「アクセシビリティ」の「Alfred 4」のチェックをつけて完了
    ※ チェックをつけるには左下の「変更するにはカギをクリックします。」を押下する必要があります。

DeepL APIのACCESS TOKENを取得する

DeepL API Freeのアカウントを作成していない場合は下記を参考に作成してください!
不正利用防止のため無料アカウントの作成でもクレジットカード必須となっております。。。

DeepL API Freeのアカウントを作成する
  1. サイトにアクセス
    https://www.deepl.com/translator

  2. 「無料で体験する」押下

  3. 「開発者向け」であることを確認して、「無料で登録する」押下

  4. メールアドレスとパスワードを入力して「続行」押下

  5. 住所・クレジットカードを入力して「続行」

  6. 確認画面で問題なければ「確認」押下
    ※スクリーンショット撮り忘れてしまいました。おそらく「確認」だと思います。。。

  7. 下記画面が表示されれば完了!

  1. アカウントを作成後「アカウントを管理する」を押下

  2. 「アカウント」タブに移動して

  3. 画面下部にある「DeepL APIで使用する認証キー」から認証キーをコピーする

DeepL API Freeのアカウントを作成していてACCESS TOKENがわからない場合

ログインすると下記画像のように表示されるので「アカウント概要をご覧ください。」押下でアカウント管理ページに遷移できます!

Alfred Workflowファイルをダウンロード

  1. 下記にアクセス
    https://github.com/sugayutokyo/alfred_deepl_transrator/releases

  2. 最新リリースのalfredworkflowファイルを押下してダウンロード

設定

  1. ダウンロードしたalfredworkflowファイルをダブルクリック

  2. 赤枠内にDEEPLのACCESS TOKENを貼り付けて「import」押下

  3. Hotkey(ショートカットキー)を割り当てる
    Hotkey は色によって行われる処理が変わります。必要なもののみ割り当ててお使いください!

処理
日本語 → 英語に翻訳した後 Clipboard に追加
オレンジ 英語 → 日本語に翻訳した後 Clipboard に追加
ブルー 日本語 → 英語に翻訳した後表示
ピンク 英語 → 日本語に翻訳した後表示
Hotkey(ショートカットキー)の割り当て方
  1. 割り当てたいHotkeyをダブルクリック
    ※ ピンクを例に説明

  2. Hotkeyの項目を選択して割り当てたいコマンドを同時に押下(例ではControl+Shift+X)
    ※画像のように青枠で囲まれていれば選択されています

  3. 入力したコマンドがHotkeyに反映されているのを確認して「Save」押下

  4. Hotkeyに割り当てたいコマンドが反映されていれば完了!

使い方

翻訳したい文字列を選択した後、割り当てたHotkeyによって翻訳を行うことができます。

  • 翻訳結果を表示したい
    例: 英語 → 日本語の翻訳結果を表示

  • 翻訳結果をクリップボードにコピーする
    下記GIFのように「Copied to Clipboard!」と通知が表示されたらClipboardに翻訳された後の出力が入っています。

対象言語の変更の仕方

デフォルトでは日本語と英語の翻訳に対応していますがDeepLのAPIで対応している言語ならどの組み合わせでも翻訳することができます。

  1. ワークフローを開いて、[x]押下

  2. SOURCE_LANGとTARGET_LANGを翻訳したいValueに変更する
    入力する文字列は言語によって異なります。下記を参考に入力してください。
    https://www.deepl.com/ja/docs-api/translating-text/request/

    例: 日本語→イタリア語に翻訳したい場合はSOURCE_LANGをITに変更する

この記事のリポジトリ

Node.jsで作成しました。
https://github.com/sugayutokyo/alfred_deepl_transrator

終わりに

不具合やこんな機能がほしいなどあれば、コメントなどもらえると嬉しいです!!
直近ではDeepLの有料プランへの対応を考えております。

参考

https://blog.chick-p.work/nodejs-aflred-workflow/
https://zenn.dev/ryo_kawamata/articles/alfred-zenn-posts

GitHubで編集を提案

Discussion