英語論文を読むとき一番大変なことといえば,DeepL翻訳にかけるために文をコピーした後,毎回整形することじゃないですか.(?)
その処理を自動化してショートカットキー一つで出来るようにしました.
こんな感じです.Windowsを対象としています.
方法
- Pythonスクリプトでクリップボードに格納されている文を取り出し,整形した後DeepL翻訳に投げます.
- このPythonスクリプトをバッチファイルから実行できるようにし,
- そのバッチファイルをショートカットキーから実行できるようにします.
Pythonスクリプト
import re
import pyperclip
import webbrowser
import urllib.parse
text = urllib.parse.quote(pyperclip.paste(), safe = "|").replace("|", "%5C%7C").replace("%0D", "%20").replace("%0A", "").replace("-%20", "")
webbrowser.open("https://www.deepl.com/en/translator#en/ja/" + text)
(5/27追記:やっぱりurlLibを利用するようにしました.なぜか"|"は標準の"%7C"ではなく"%5C%7C"だったので別で変更しています)
いたってシンプルですが,pyperclipを使ってクリップボード上のテキストを取り出した後整形しています.
整形のルールは
- 英単語が改行で区切られている時に入る
-
をなくす - 改行をスペースに置き換える
だけです.
最後にDeepL翻訳にWebリクエストを投げて終わりです.
DeepL翻訳はhttps://www.deepl.com/en/translator#en/ja/
の末尾に翻訳したい文字列を入れてあげると翻訳結果が表示されるサイトに飛んでくれるのでそれを利用しました.
このスクリプトをどこかに保存しておいて,バッチファイルでリクエストがあったときに実行されるようにします.
バッチファイル
pythonスクリプトと同じ階層に以下のバッチファイルを配置します
"Pythonの実行ディレクトリ" "pythonスクリプトのディレクトリ"
例えばanacondaを利用しており,作成したスクリプトをデスクトップの"ClipboardCopyToDeepL/"以下に置いた場合は
C:\Users\ユーザ名\anaconda3\python.exe C:\Users\ユーザ名\Desktop\ClipboardCopyToDeepL\ClipboardCopyToDeepL.py
となります.
ショートカットキー割り当て
バッチファイルのショートカットを作成します.
ショートカットのプロパティから,ショートカットキー
の設定を行います
枠をクリックして割り当てたいキーを打つと勝手に入力されます.
(追記: 自分はこのショートカットをC:\ProgramData\Microsoft\Windows\Start Menu\Programs\
以下に配置すると使えるようになりました.)
終わりに
これで論文が読むのが捗りますね.