39 lines
1.1 KiB
Bash
Executable file
39 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# set -vx
|
|
|
|
if [ $# -lt 3 ]; then
|
|
printf "not enough arguments given\n\
|
|
usage: ltranslate sourcelang targetlang query\n"
|
|
exit 1
|
|
fi
|
|
|
|
dependencycheck() {
|
|
numdependencies="$#"
|
|
dependencies=("$@")
|
|
missingdependencies=0
|
|
for ((i = 0; i < numdependencies; i++)) ; do
|
|
if ! command -v "${dependencies[$i]}" &> /dev/null ; then
|
|
printf "dependency not met: %s\n" "${dependencies[$i]}"
|
|
missingdependencies=$((missingdependencies+1))
|
|
fi
|
|
done
|
|
if [ $missingdependencies -gt 0 ]; then
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
dependencycheck curl awk sed
|
|
|
|
ua='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'
|
|
url="https://libretranslate.de/translate"
|
|
headers="Content-Type: application/json"
|
|
source=$1
|
|
target=$2
|
|
query="${*:3}"
|
|
|
|
main() {
|
|
result=$(curl -sAX POST "${ua}" "${url}" -H "${headers}" -d '{"q": "'"${query}"'", "source": "'"${source}"'", "target": "'"${target}"'"}' | awk -F ':' '{ print $2 }' | sed 's/"//g; s/}//g')
|
|
printf '%s'"${result}\n"
|
|
}
|
|
|
|
main
|