LoginSignup
9
11

More than 3 years have passed since last update.

英語論文の文章をショートカットキー1回で整形してDeepL翻訳に突っ込む

Last updated at Posted at 2020-05-15

英語論文を読むとき一番大変なことといえば,DeepL翻訳にかけるために文をコピーした後,毎回整形することじゃないですか.(?)
その処理を自動化してショートカットキー一つで出来るようにしました.
図.png
こんな感じです.Windowsを対象としています.

方法

  1. Pythonスクリプトでクリップボードに格納されている文を取り出し,整形した後DeepL翻訳に投げます.
  2. このPythonスクリプトをバッチファイルから実行できるようにし,
  3. そのバッチファイルをショートカットキーから実行できるようにします.

Pythonスクリプト

ClipboardCopyToDeepL.py
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/"以下に置いた場合は

ClipboardCopyToDeepL.bat
C:\Users\ユーザ名\anaconda3\python.exe C:\Users\ユーザ名\Desktop\ClipboardCopyToDeepL\ClipboardCopyToDeepL.py

となります.

ショートカットキー割り当て

バッチファイルのショートカットを作成します.
図1.png
ショートカットのプロパティから,ショートカットキーの設定を行います
図2.png
枠をクリックして割り当てたいキーを打つと勝手に入力されます.

(追記: 自分はこのショートカットをC:\ProgramData\Microsoft\Windows\Start Menu\Programs\以下に配置すると使えるようになりました.)

終わりに

これで論文が読むのが捗りますね.

9
11
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
11