컬 등을 사용하여 Google 번역에서 번역된 문자열을 얻는 방법은 무엇입니까?

컬 등을 사용하여 Google 번역에서 번역된 문자열을 얻는 방법은 무엇입니까?

컬과 같은 명령줄 도구를 사용하여 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

원천

관련 정보