KindleをDeepLで翻訳しながら読む

はじめに

Kindleで洋書を読むときにiOS版やiPadOS版Kindleでは文章を選択すると翻訳してくれます。
ただ、Mac版のKindleには同じ機能が無いため、Mac版でなるべく楽に翻訳できる方法について私が試した方法になります。

翻訳の方法

翻訳は下記の手順で行います。

  1. Kindleで翻訳したい文章を選択
  2. 本文検索を実行
  3. 検索ボックスの文章をコピー
  4. DeepLアプリにコピーした文章を貼り付け

上記手順を翻訳のたびに手動で行うのは手間なので、Automatorとショートカットを使用しショートカットキーで実行できるようにします。

設定方法

ここからは、Automatorとショートカットの設定方法です。

Automatorの設定

1. Automatorを起動し「ワークフロー」を選択します。

2. Kindleアプリを画面の一番手前に表示するためのAppleScriptを登録します。

「ユーティリティ」の「AppleScriptを実行」を選択します。

スクリプトに下記を記載することで、Kindleを最前面に表示します。

tell Application "Kindle"
    Activate
end tell

3. 本文検索の操作を記録します。
この操作が実際に動くのは、Kindleで文章を選択後になるので、その状態に合わせるためにまずはKindleアプリで文章を選択した状態にしておきます。

文章を選択すると上画面のようなメニューが表示されるので、この状態でAutomatorの上部にある「記録」ボタンを押します。
ボタンを押した後の操作が記録されるので、Kindleアプリに切り替えメニューの「本文検索」をクリックし、クリック後記録を停止します。
Automatorに戻ると、Kindleへ切り替える操作と本文検索ボタンをクリックした操作が記録されています。

実際にKindleへ切り替える操作は2. のスクリプトで行うため、本文検索ボタンをクリックする操作以外は削除しておきます。

4. 本文検索をしたときに検索ボックスにフォーカスが当たっている状態のため、この検索ボックスの値をコピーします。

操作の記録の方法は3.と同じです。
⌘Aで検索ボックスの値を全選択、⌘Cで選択した値をコピーしています。

5. DeepLアプリを画面の一番手前に表示にします。
4.でコピーした文章をDeepLアプリへ貼り付けるために、DeepLアプリを画面の一番手前に表示します。
方法はKindleと同じように、スクリプトで行います。
tell Applicationに指定する名前は"DeepL"です。

tell Application "DeepL"
    Activate
end tell

6. DeepLアプリに4. でコピーした文章を貼り付けます。
DeepLアプリの原文の箇所に直前に翻訳した文章が残っているため、⌘Aで全選択し⌘Vで上書きコピーします。

選択した文章が貼り付けられ、翻訳されました。

ここまで終わったら、作成したワークフローを保存しておきます。

ショートカットへの登録

ここまででKindleで選択した文章をDeepLで翻訳するためのワークフローができました。
このままでは翻訳するたびにAutomaterを開き実行する必要があるため、ショートカットに登録し簡単に実行できるようにします。

1. Spotlightに「ショートカット」と入力しショートカットアプリを起動します。

2. 作成したワークフローのファイルをショートカットアプリへドラッグ&ドロップし登録します。

3. 登録したショートカットを右クリックし「編集」を選択します。
右上の「ショートカットの詳細」を選択し、「詳細」タブの「次で実行」に割り当てたいショートカットを登録すします。

これで登録したショートカットキーで翻訳ができるようになりました。
あとはKindleで調べたい文章を選択し、登録したショートカットキーを押せば翻訳が行われます。

初回の実行時はプライバシーの許可を求めるウインドウが表示されるので、許可してください。

改善したいこと

ここまでの内容でやりたかったことは出来ているのですが、ショートカットキーを押してからワークフローが動き始めるまで(「本文検索」をクリックするまで)に2秒程度時間がかかります。
どこに問題があって時間がかかっているのかは分かりませんが、もっと短い時間にする方法にしたいと思っています。