#!/bin/bash

Info () {
title="Info"
author="Peter Starfinger"
mail="E-Mail: info@die-starfingers.de"
year="2023"
app="$(basename $0)"
msgid="The Starbuntu application
<i>\$app</i>
was written by"
info="$(gettext "$msgid" | (export PATH `envsubst --variables "$msgid"`; envsubst "$msgid"))"

yad --center --fixed --title="$title" --window-icon="/usr/share/icons/gnome/48x48/status/info.png" --image="/usr/share/icons/gnome/48x48/status/info.png" --borders=20 --text="$info"$'\n'$'\n'"$author"$'\n'"$mail"$'\n'$'\n'"$year"$'\n' --text-align=center --selectable-labels --button="OK" &
wunwa "$title" > /dev/null; xdotool key Home key Down
}

[ "$1" = "info" ] && Info && exit 0

IFS=$'\t\n'
lang=($(cat /usr/share/doc/translate-shell/Code-List-$LANGUAGE.txt))
image="/usr/share/icons/gnome/48x48/actions/object-flip-horizontal.png"

title=$"Select Language"
title1=$"Target Language"
title2=$"Source Language"
titel=$"Translation"
button1=$"Cancel"
button2=$"Help"
lang_dir=$"C"

n=$RANDOM
yad --plug=$n --tabnum=1 --list --column="$title1" --no-headers --search-column=1 --regex-search --column="Abbreviation":HD ${lang[@]} 1>/tmp/hsperfdata_$USER/target-lang &
yad --plug=$n --tabnum=2 --list --column="$title2" --no-headers --search-column=1 --regex-search --column="Abbreviation":HD ${lang[@]} 1>/tmp/hsperfdata_$USER/source-lang &
yad --center --notebook --key=$n --title=$title --width=350 --height=700 --borders=10 --window-icon="$image" --tab="$title1" --tab="$title2" --button="$button1":1 --button="$button2":"yelp /usr/share/help/$lang_dir/Starbuntu/starbuntu-apps-details.page#translate" --button="Info":"$0 info" --button="OK":0
exitstatus=$?

if [ $exitstatus -eq 0 ] ; then
    language[1]="$(cat /tmp/hsperfdata_$USER/target-lang)"
    language[1]="${language[1]#*|}"
    [ -z "${language[1]}" ] && language[1]="$LANGUAGE" || language[1]="${language[1]::-1}"
    language[2]="$(cat /tmp/hsperfdata_$USER/source-lang)"
    language[2]="${language[2]#*|}"
    [ -n "${language[2]}" ] && language[2]="${language[2]::-1}" || language[2]="$LANGUAGE"
    lemma=" "
    while [ -n "$lemma" ]; do
	lemma="$(hist $HOME/.config/gtk-3.0/lemma.history 30 "$titel ${language[2]} ⇝ ${language[1]}" "$image" "$0")"
	[ $? -gt 0 ] && exit 1
	if [ -n "$lemma" ]; then
	    reply="$(trans ${language[2]}:${language[1]} "$lemma" | sed 's/\x1B\[[0-9]*m//g')"
	    n_lines=$(wc -l <<< "$reply")
	    h=$((n_lines*20+60))
    
	    yad --center --width=800 --height=$h --title=$titel --borders=10 --window-icon="$image" --text-info <<< "$reply" --button="OK"
	fi
    done
fi

