僕は英語がわからないのでGoogle翻訳をよく利用します。
メモ帳で開いた英文を部分的に翻訳したい場合など、次のような流れになりコピペやアプリの切り替えが少し面倒に感じます。
翻訳したい文章をコピーします。
↓
GoogleChromeを起動します。
↓
[Google翻訳](https://translate.google.co.jp/)を開きます。
↓
コピーしてた文章を貼り付けます。
↓
翻訳された文章をコピーします。
↓
メモ帳に戻り貼り付けます。
そこで、Pythonスクリプトで次のように出来たら手間が省けるかなと思いました。
翻訳したい文章を選択します。
↓
[CTRL] + [ALT] + [z] を押して翻訳します。
必要なモジュール
-
googletrans(Google翻訳できる)
pip install googletrans
-
pyautogui(Windowsを操作できる)
pip install PyAutoGUI
-
pyperclip(クリップボードを操作できる)
pip install pyperclip
スクリプト
スクリプトはこれだけです。
クリップボードを翻訳するのでClipTrans.py
にしました。
# 選択範囲を翻訳する。
from googletrans import Translator
import pyautogui
import pyperclip
# 元のアプリに切り替える
pyautogui.hotkey('alt', 'tab')
# 選択範囲をコピーする
pyautogui.hotkey('ctrl', 'c')
# クリップボードの5000文字を取り出す。
OrgTEXT = pyperclip.paste()[:5000]
# GoogleTransで翻訳(成功するまで繰り返すように修正(2020/11/9))
tr = Translator()
while True:
try:
NewTEXT= tr.translate(OrgTEXT, dest="ja").text
break
except Exception as e:
tr = Translator()
# 結果をクリップボードにコピー
pyperclip.copy(NewTEXT)
# 選択範囲に貼り付ける
pyautogui.hotkey('ctrl', 'v')
Windows10 のショートカットキーで起動する。
次に、スクリプトを指定してPythonを起動するバッチファイルを用意して、そのバッチファイルにショートカットキーを割り当てます。
バッチファイルといっても内容は一行だけです。
ファイル名はClipTrans.bat
としました。
python ClipTrans.py
ClipTrans.py
とClipTrans.bat
は同一のディレクトリに置きます。
僕はC:\Users\maboy\scripts
に置きました。
ClipTrans.bat
のショートカットを デスクトップ に作成します。
作成したショートカットのプロパティを開き ショートカットキー を割り当てます。
[なし] をクリックし、キーボードの [z] を押すと [Ctrl] + [Alt] + [z] が入力されます。
他に [Ctrl] + [Shift] + [好きなキー] なども割り当てることができます。
今回は [Ctrl] + [Alt] + [z] を割り当てました。
これでショートカットキーでClipTrans.py
が起動できるようになりました。
ただし、この方法でショートカットキーを割り当てるためのショートカットは特定の場所に配置する必要があり、そうでないとうまく動作しませんでした。
場所を変更して動作しなくなってしまった場合、元の場所に戻しても動作しませんでしたが、再ログインで動作するようになりました。
動作が確認できた場所
- デスクトップ
C:\Users\maboy\Desktop\
- スタートメニュー
C:\Users\maboy\AppData\Roaming\Microsoft\Windows\Start Menu\
- 旧スタートメニュー
C:\ProgramData\Microsoft\Windows\Start Menu\