2021年09月02日
deepl APIをCLIでかんたんに叩けるようにする。
例
deeplコマンドの後に英語
% deepl We have plenty of food right now because it is summer, but once winter comes, there will be no food to eat here.
日本語が出力される
今は夏だから食べ物がたくさんあるけ 、冬になったらここには食べるもの ないよ。
#!/bin/bash
authKey=$DeepLKey # DeepLから認証キーを取得し、環境変数にセットしておく
toLang="JA"
arg=""
if [ -p /dev/stdin ]; then # パイプで標準入力が渡されたか
# echo hoge | deepl
arg=`cat -` # 標準入力取得
else
# deepl hoge
arg=$@ # 全引数取得
fi
text=$arg
# -sでダウンロード状況表示させない
# -Sでエラーは表示するように
resp=`curl -sS https://api-free.deepl.com/v2/translate \
-d "auth_key=${authKey}" \
-d "target_lang=${toLang}" \
-d "text=${text}"`
# -rでダブルクオーテーションが消える
echo $resp | jq -r ".translations[].text"
exit 0