0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Alfredのworkflowで、サクッと翻訳する

Posted at

はじめに

変数名を考えるときなど、英語→日本語や、日本語→英語を素早くほしいことがある。サクッと翻訳できるととても助かる。ブラウザでGoogle翻訳を開いていたが、頻度も多いし、Alfredのワークフローでやると便利だろうなとおもった。

環境

ここで書いていることは、下記のバージョンで実施しました。

  • Alfred 4.3.2
  • macOS BigSur 11.1

つかったもの

Alfred のGoogle翻訳ワークフローを作りました。
https://qiita.com/nkmr_jp/items/ee47d0ef7f39816062a8

を使用。

DeepL翻訳をAlfred上で完結させるAlfred Workflow「DeepL-Translate」もとてもいいと思うが、DeepLを使っているわけではないので(DeepLへの登録が必要みたい)

問題点

上記「Quick Translate」は控えめに申し上げてとても良いのだけれど、自分の使いかたでは2つの問題が発生。

  • ホットキーではなくて、キーワードで開始してほしい
  • 翻訳結果が返ってこないことがある

対策したこと

キーワードで開始したい

Quick Translateの旧バージョン使用。リリースページ13 Mar 2017版。

Script Filterのところにgegjと指定。

ge -> [g]oogle translate to [e]nglish or [g]o [e]nglish
gj -> [g]oogle translate to [j]apanese or [g]o [j]apanese

ちなみに新バージョンは素敵な機能がいろいろついているが、Script Filterを使うのが難しくなっている。

検索結果が返ってこない

再現画像がないが、検索結果が返ってこなくなることがある。どうもtranslate-shellのほうで発生しているようなので

$ trans -D 'hello world' 1> stdout.log 2> stderr.log

で調べてみると、Google APIがHTTP/1.1 429 Too Many Requestsと言っている。1文字入力するごとにAPIを呼び出しているので怒られているっぽい。

そこで

  • Script Filter > Language: ... Run BehaviorQueue DelayAutomatic delay after last character typedに変更
  • Always run immediately for first typed arg characterのチェックボックスをオフ

SS 2021-03-03 13.20.58.png

これで、APIを叩きに行く回数を減らす。

ただし、いちど429 Too Many Requestsがでると、しばらく復活しない。そのときは、回避策として、Script Filter > Script

TRANS=`trans -e "{query}"`

というところを、下記に変更(googleじゃなくてbingの翻訳を利用)。

TRANS=`trans -e bing -b "{query}"`

ひとこと

いやあ、しあわせです。作者のみなさん、ほんとうにありがとうございます。
あまりきれいではない(genericでない)使いかたをして申し訳ないです。

0
4
0

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
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?