#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Gui = GUICreate("Translator", 434, 413, 192, 124)
$Edit1 = GUICtrlCreateEdit("", 0, 0, 433, 209)
GUICtrlSetData(-1, "Der zu übersetzende Text")
$from = GUICtrlCreateLabel("Von", 8, 224, 23, 17)
$to = GUICtrlCreateLabel("In", 264, 224, 17, 17)
$comboFrom = GUICtrlCreateCombo("Deutsch", 8, 256, 129, 25)
GUICtrlSetData(-1, "Englisch|Spanisch|Französisch")
$comboTo = GUICtrlCreateCombo("Englisch", 264, 256, 129, 25)
GUICtrlSetData(-1, "Deutsch|Spanisch|Französisch")
$transl = GUICtrlCreateButton("Übersetzen!", 128, 320, 161, 73, BitOR($BS_DEFPUSHBUTTON,$WS_GROUP))
GUICtrlSetCursor (-1, 0)
GUISetState(@SW_SHOW)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $transl
			Ping("www.google.de")
			If @error Then
				MsgBox(64, "Internet Fehler!", "Achtung! Sie sind momentan nicht mit dem Internet verbunden. Dieses Script kann nur mit einer bestehenden Internetverbindung ausgeführt werden!")
			Else
				_Translate()
			EndIf
	EndSwitch
WEnd

Func _Translate()
	Local $langFrom = GUICtrlRead($comboFrom)
	Local $langTo = GUICtrlRead($comboTo)
	Local $langFromUrl, $langToUrl, $complete
	Local $url = "http://translate.google.de/?hl=&ie=UTF-8&text=&sl=en&tl=de#"
	Local $text = GUICtrlRead($Edit1)
	Switch $langFrom
		Case "Deutsch"
			$langFromUrl = "de"
		Case "Englisch"
			$langFromUrl = "en"
		Case "Spanisch"
			$langFromUrl = "es"
		Case "Französisch"
			$langFromUrl = "fr"
	EndSwitch

	Switch $langTo
		Case "Deutsch"
			$langToUrl = "de"
		Case "Englisch"
			$langToUrl = "en"
		Case "Spanisch"
			$langToUrl = "es"
		Case "Französisch"
			$langToUrl = "fr"
	EndSwitch

	$complete = $url & $langFromUrl & "|" & $langToUrl & "|" & $text
	ShellExecute($complete)
	$len = StringLen($text)
	WinWaitActive("Google Übersetzer - Mozilla Firefox")
	Sleep(100 * $len)
	WinClose(WinGetTitle("[Active]"))
EndFunc
