#!/usr/bin/env sh
#
# Translate the page, or if `--text` argument is given the current selection, with google translate.
#
# Adapted code from https://github.com/AckslD/Qute-Translate, with much gratitude.
PAGE="https://lingva.garudalinux.org/SOURCELANGUAGE/TARGETLANGUAGE/TRANSLATETEXT"

while [ $# -gt 0 ]; do
    case $1 in
    -s | --source)
        QUTE_TRANS_SOURCE=$2
        shift
        shift
        ;;
    -t | --target)
        QUTE_TRANS_TARGET=$2
        shift
        shift
        ;;
    --url)
        QUTE_TRANS_URL="true"
        shift
        ;;
    --text)
        QUTE_TRANS_URL="false"
        shift
        ;;
    esac
done

if [ -z "$QUTE_TRANS_SOURCE" ]; then
    # Default use automatic language for source
    QUTE_TRANS_SOURCE="auto"
fi
if [ -z "$QUTE_TRANS_TARGET" ]; then
    # Default use English for target
    QUTE_TRANS_TARGET="en"
fi

if [ "$QUTE_TRANS_URL" = "false" ]; then
    # Translate selected text
    PAGE=$(echo "$PAGE" | sed -e "s/SOURCELANGUAGE/$QUTE_TRANS_SOURCE/" -e "s/TARGETLANGUAGE/$QUTE_TRANS_TARGET/" -e "s/TRANSLATETEXT/$QUTE_SELECTED_TEXT/")
    echo "open -t ${PAGE}" >>"$QUTE_FIFO"
else
    # Default translate URL
    PAGE="https://translate.google.com/translate?"
    CONT_KEY="u"
    CONTENT="$QUTE_URL"
    echo "open -t ${PAGE}sl=${QUTE_TRANS_SOURCE}&tl=${QUTE_TRANS_TARGET}&${CONT_KEY}=\"${CONTENT}\"" >>"$QUTE_FIFO"
fi

