Alfredの翻訳ワークフローをDeepL翻訳と英語以外の言語にも対応しました。
インストールや設定の手順のはこちらを参考にしてください(日本語のREADME)
以前のバージョンも引き続き利用できます。
リリース一覧からバージョンを選んでAssets
からquick-translate.alfredworkflow
をダウンロードしてください。
v1からの変更点
設定画面で各種設定
- 翻訳エンジンや言語などを設定画面で選択出来るようにしました
- ワークフローインストール後に右上のアイコンをクリックすると設定画面が開きます。
- 左側のAbout this Workflowを参考に設定してください。
DeepL翻訳に対応
- 翻訳エンジンにDeepLを選択出来るようにしました。(デフォルトは Google)
- DeepL APIを使っています
- 翻訳エンジンにDeepLを使う場合はDeepL Pro(DeepL APIプラン)に登録してAPIキーを取得してください。
- Googleの方は引き続き無料で使えます
言語選択に対応
- 翻訳する言語を選択できるようにしました。
- デフォルトは 日本語(ja) <-> 英語(en) の翻訳をする設定になっています
- Google翻訳とDeepL翻訳の対応している言語なら何でも設定できます
- 対応言語と言語コード
- DeepLの対応言語
- [Googleの対応言語一覧] (https://github.com/soimort/translate-shell/wiki/Languages)
- Google翻訳は translate-shellを使っているのでwikiを参照
選択したテキストを翻訳する機能を修正
- 長い日本語は折り返すなどして出力を見やすくしました。
- 原文と翻訳後のテキストを両方表示できるようにしました。
開発メモ
Google翻訳とDeepL翻訳の比較 (200713時点)
- 翻訳の精度自体はDeepLのほうが良い気がする
- レスポンスはGoogleのほうが速い
- DeepL APIは長いテキストをそのまま投げると途中までしか翻訳してくれない
- 見出しを含めて翻訳すると見出しも文の一部として翻訳してしまったりもする
- APIに投げる前に文章を分割するなどの前処理をちゃんとやる必要がある
- Googleの場合、長い文章をまとめて投げても結構ちゃんと翻訳してくれるので楽
- Googleの方はAPI直接じゃなくてtranslate-shellを使っているので、そのおかげかもしれない
- DeepLはアプリを使うと長文でもちゃんと翻訳してくれる
- 長文をまとめて翻訳したいときはアプリを使ったほうが良いかも
ワークフローの中身
DeepLのAPIに投げる前の処理とか色々必要になってコードを書く量が増えたので、
scriptを外部ファイルにするなどして結構構成が変わった。
Packalに公開
ワークフローをPackalに公開しました。
PackalはAlfredのワークフローやテーマをアップしたり検索したりできるマーケットプレイス的なサイトです。
登録したら割とすぐ反映されました。
まとめ
DeepL APIはリクエスト投げる前にちょっと整形したり文章を分割したりと、
面倒なところはありますが精度の高い翻訳を色んな所で使えるのは魅力です。
使い方も結構簡単ですし、色々作って遊んでみるのもいいと思います。