カールなどのコマンドラインツールを使用して、Google翻訳で翻訳された文字列(英語からスペイン語など)をどのように取得できますか?ページソースを見ましたが、Google翻訳では結果が画面にレンダリングされますが、HTMLソースに翻訳結果が含まれていないようです。だから
curl "https://translate.google.com/#auto/es/stay%20calm"
動作しませんでした。元の文字列や翻訳された文字列ではなく、HTMLソースコードのみを提供しました。そして彼らのAPIは無料ではないので、使用したくないと聞きました。 Microsoft翻訳サービスもあると聞きましたが、可能であればGoogle翻訳サービスを引き続き利用したいと思います。
答え1
あなたはあなたのからこれを行うことができます~/.bashrc
function gtr {
sl=en
tl=$1
shift
base_url="https://translate.googleapis.com/translate_a/single?client=gtx&sl=$sl&tl=$tl&dt=t&q="
ua='Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/109.0'
qry=$( echo "$*" | sed -e "s/\ /+/g" )
full_url=$base_url$qry
response=$(curl -sA "$ua" "$full_url")
echo "$response" | sed 's/","/\n/g' | sed -E 's/\[|\]|"//g' | head -1
}
使用法
$: gtr es hi this is a test
Hola esto es una prueba