Skip to content

Instantly share code, notes, and snippets.

@knxroot knxroot/translate.sh

Created Nov 11, 2012
Embed
What would you like to do?
google translate from bash
help='translate <text> [[<source language>] <target language>]
if target missing, use DEFAULT_TARGET_LANG
if source missing, use auto'
# adjust to taste
DEFAULT_TARGET_LANG=en
if [[ $1 = -h || $1 = --help ]]
then
echo "$help"
exit
fi
if [[ $3 ]]; then
source="$2"
target="$3"
elif [[ $2 ]]; then
source=auto
target="$2"
else
source=auto
target="$DEFAULT_TARGET_LANG"
fi
result=$(curl -s -i --user-agent "" -d "sl=$source" -d "tl=$target" --data-urlencode "text=$1" http://translate.google.com)
encoding=$(awk '/Content-Type: .* charset=/ {sub(/^.*charset=["'\'']?/,""); sub(/[ "'\''].*$/,""); print}' <<<"$result")
#iconv -f $encoding <<<"$result" | awk 'BEGIN {RS="<div"};/<span[^>]* id=["'\'']?result_box["'\'']?/ {sub(/^.*id=["'\'']?result_box["'\'']?(>| [^>]*>)([ \n\t]*<[^>]*>)*/,"");sub(/<.*$/,"");print}' | html2text -utf8
iconv -f $encoding <<<"$result" | awk 'BEGIN {RS="</div>"};/<span[^>]* id=["'\'']?result_box["'\'']?/' | html2text -utf8
exit
@BSVogler

This comment has been minimized.

Copy link

BSVogler commented Feb 19, 2016

I get the following error " unsupportedrsion from UTF-8
iconv: try 'iconv -l' to get the list of supported encodings
unsupportedrsion from UTF-8
iconv: try 'iconv -l' to get the list of supported encodings
unsupportedrsion from UTF-8
iconv: try 'iconv -l' to get the list of supported encodings
demon:translate Benedikt$ sh ./translate.sh
unsupportedrsion from UTF-8
iconv: try 'iconv -l' to get the list of supported encodings
unsupportedrsion from UTF-8
iconv: try 'iconv -l' to get the list of supported encodings
unsupportedrsion from UTF-8
iconv: try 'iconv -l' to get the list of supported encodings"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.