je le met ici si cela peut aidé des personnes ^^ design basique mais simple
#AutoIt3Wrapper_Icon=Cool-Text-282640215525744.ico
#AutoIt3Wrapper_Outfile_x64=Traducteur Ver1.Exe
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Res_Language=1036
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <EditConstants.au3>
#include <File.au3>
#include <FileConstants.au3>
#include <GUIConstantsEx.au3>
#include <IE.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>
$Line=0
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=D:\Users\William\Desktop\Trad et Codage\trad codage autoit\traducteur.kxf
Global $Form1_1 = GUICreate("Form1", 1775, 773, 188, 99, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_TABSTOP))
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_1Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1_1Minimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1_1Maximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "Form1_1Restore")
Global $EditTrad = GUICtrlCreateEdit("", 1338, 89, 417, 465, $ES_WANTRETURN)
GUICtrlSetBkColor($EditTrad, 0xFFFFE1)
GUICtrlSetResizing($EditTrad, $GUI_DOCKAUTO)
Global $EditOrigine = GUICtrlCreateEdit("", 464, 88, 417, 465, $ES_WANTRETURN)
GUICtrlSetBkColor($EditOrigine, 0xC8C8C8)
GUICtrlSetResizing($EditOrigine, $GUI_DOCKAUTO)
Global $EditModif = GUICtrlCreateEdit("", 902, 89, 417, 465, $ES_WANTRETURN)
GUICtrlSetBkColor($EditModif, 0xBFCDDB)
GUICtrlSetResizing($EditModif, $GUI_DOCKAUTO)
Global $Bsuivant = GUICtrlCreateButton("Suivant", 552, 664, 155, 33)
GUICtrlSetOnEvent($Bsuivant, "BsuivantClick")
Global $Bretour = GUICtrlCreateButton("Retour", 360, 664, 155, 33)
GUICtrlSetOnEvent($Bretour, "BretourClick")
Global $BTranslate = GUICtrlCreateButton("BTranslate", 816, 624, 155, 73)
GUICtrlSetOnEvent($BTranslate, "BTranslateClick")
Global $Label1 = GUICtrlCreateLabel("Texte d'origine", 608, 56, 89, 17)
Global $Label2 = GUICtrlCreateLabel("Texte a modifié", 1048, 56, 95, 17)
Global $Label3 = GUICtrlCreateLabel("Traduction auto", 1504, 56, 79, 17)
Global $Bimport = GUICtrlCreateButton("Import", 1160, 672, 139, 33)
GUICtrlSetOnEvent($Bimport, "BimportClick")
Global $Input1 = GUICtrlCreateInput("", 1376, 680, 121, 21)
Global $Label4 = GUICtrlCreateLabel("Nom du fichier de traduction", 1376, 656, 150, 17)
Global $EditTraduit = GUICtrlCreateEdit("", 23, 87, 417, 465, BitOR($GUI_SS_DEFAULT_EDIT,$ES_READONLY))
GUICtrlSetBkColor($EditTraduit, 0xC0DCC0)
GUICtrlSetResizing($EditTraduit, $GUI_DOCKAUTO)
Global $Label5 = GUICtrlCreateLabel("Texte Traduit", 168, 56, 67, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Sleep(100)
WEnd
Func BimportClick()
; Create a constant variable in Local scope of the message to display in FileOpenDialog.
Local Const $sMessage = "Hold down Ctrl or Shift to choose multiple files."
; Display an open dialog to select a list of file(s).
Local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\", " (*.CSV)| (*.txt)", $FD_FILEMUSTEXIST + $FD_MULTISELECT)
If @error Then
; Display the error message.
MsgBox($MB_SYSTEMMODAL, "", "No file(s) were selected.")
; Change the working directory (@WorkingDir) back to the location of the script directory as FileOpenDialog sets it to the last accessed folder.
FileChangeDir(@ScriptDir)
Else
; Change the working directory (@WorkingDir) back to the location of the script directory as FileOpenDialog sets it to the last accessed folder.
FileChangeDir(@ScriptDir)
; Replace instances of "|" with @CRLF in the string returned by FileOpenDialog.
$sFileOpenDialog = StringReplace($sFileOpenDialog, "|", @CRLF)
EndIf
global $hFileOpen = FileOpen($sFileOpenDialog, $FO_READ)
Local $sFileRead = FileReadLine($hFileOpen, $Line)
GUICtrlSetData($EditOrigine, $sFileRead)
GUICtrlSetData($EditModif, $sFileRead)
EndFunc
Func BretourClick()
GUICtrlSetState($Bsuivant, $GUI_DISABLE)
GUICtrlSetState($Bretour, $GUI_DISABLE)
GUICtrlSetState($BTranslate, $GUI_DISABLE)
If FileExists(@ScriptDir&"/"&GUICtrlRead($Input1)&".txt") Then
_FileWriteToLine(@ScriptDir&"/"&GUICtrlRead($Input1)&".txt", $Line, GUICtrlRead($EditModif),TRUE,True)
GUICtrlSetData($EditTraduit,FileRead(@ScriptDir&"/"&GUICtrlRead($Input1)&".txt"))
Else
_FileCreate (@ScriptDir&"/"&GUICtrlRead($Input1)&".txt")
EndIf
$Line=$Line-1
If $Line < 1 Then
$Line = 1
EndIf
Local $sFileRead = FileReadLine($hFileOpen, $Line)
Local $sFileRead2 = FileReadLine(@ScriptDir&"/"&GUICtrlRead($Input1)&".txt", $Line)
GUICtrlSetData($EditOrigine, $sFileRead)
$lni = _FileCountLines(@ScriptDir&"/"&GUICtrlRead($Input1)&".txt")
If $lni >= $Line Then
GUICtrlSetData($EditModif, $sFileRead2)
Else
GUICtrlSetData($EditModif, $sFileRead)
EndIf
$mytext = GUICtrlRead($EditOrigine)
$sData = _GoogleTranslate(_URIEncode(StringRegExpReplace($mytext, '\R', ' ')))
GUICtrlSetData($EditTrad, $sData)
GUICtrlSetState($Bretour, $GUI_ENABLE)
GUICtrlSetState($BTranslate, $GUI_ENABLE)
GUICtrlSetState($Bsuivant, $GUI_ENABLE)
EndFunc
Func BsuivantClick()
GUICtrlSetState($Bsuivant, $GUI_DISABLE)
GUICtrlSetState($Bretour, $GUI_DISABLE)
GUICtrlSetState($BTranslate, $GUI_DISABLE)
If FileExists(@ScriptDir&"/"&GUICtrlRead($Input1)&".txt") Then
_FileWriteToLine(@ScriptDir&"/"&GUICtrlRead($Input1)&".txt", $Line, GUICtrlRead($EditModif),TRUE,True)
GUICtrlSetData($EditTraduit,FileRead(@ScriptDir&"/"&GUICtrlRead($Input1)&".txt"))
Else
_FileCreate (@ScriptDir&"/"&GUICtrlRead($Input1)&".txt")
EndIf
$Line=$Line+1
Local $sFileRead = FileReadLine($hFileOpen, $Line)
Local $sFileRead2 = FileReadLine(@ScriptDir&"/"&GUICtrlRead($Input1)&".txt", $Line)
GUICtrlSetData($EditOrigine, $sFileRead)
$lni = _FileCountLines(@ScriptDir&"/"&GUICtrlRead($Input1)&".txt")
If $lni >= $Line Then
GUICtrlSetData($EditModif, $sFileRead2)
Else
GUICtrlSetData($EditModif, $sFileRead)
EndIf
$mytext = GUICtrlRead($EditOrigine)
$sData = _GoogleTranslate(_URIEncode(StringRegExpReplace($mytext, '\R', ' ')))
GUICtrlSetData($EditTrad, $sData)
GUICtrlSetState($Bretour, $GUI_ENABLE)
GUICtrlSetState($BTranslate, $GUI_ENABLE)
GUICtrlSetState($Bsuivant, $GUI_ENABLE)
EndFunc
Func BTranslateClick()
GUICtrlSetState($Bsuivant, $GUI_DISABLE)
GUICtrlSetState($Bretour, $GUI_DISABLE)
GUICtrlSetState($BTranslate, $GUI_DISABLE)
$mytext = GUICtrlRead($EditOrigine)
$sData = _GoogleTranslate(_URIEncode(StringRegExpReplace($mytext, '\R', ' ')))
GUICtrlSetData($EditTrad, $sData)
GUICtrlSetState($Bretour, $GUI_ENABLE)
GUICtrlSetState($BTranslate, $GUI_ENABLE)
GUICtrlSetState($Bsuivant, $GUI_ENABLE)
EndFunc
Func Form1_1Close()
Exit
EndFunc
Func Form1_1Maximize()
EndFunc
Func Form1_1Minimize()
EndFunc
Func Form1_1Restore()
EndFunc
Func _GoogleTranslate($sText)
Local $sResult = ""
Local $oIE = _IECreate("https://translate.google.fr/#en/fr/" & $sText,Default,False)
_IELoadWait($oIE)
Local $oResultBox = _IEGetObjById($oIE, "result_box")
If IsObj($oResultBox) Then
$sResult = $oResultBox.innertext
$sResult = StringRegExpReplace($sResult, '.*?\["(.*?)(?<!\\)"[^\[]*', "$1" & @CRLF)
; Replace a blank space (' ') with a - (minus) character.
$sResult = StringReplace($sResult, "\ N", "\n")
$sResult = StringReplace($sResult, "@ <tc: 990>" , "@<tc:990> ")
$sResult = StringReplace($sResult, "</ tc>", "</tc>")
$sResult = StringReplace($sResult, "</ Tc>", "</tc>")
$sResult = StringReplace($sResult, "@ <tb: 5>", "@<tb:5>")
$sResult = StringReplace($sResult, "@ </ tb>", "@</tb>")
$sResult = StringReplace($sResult, "@ </ tc>", "@</tc>")
$sResult = StringReplace($sResult, " <tc: 900>", "<tc:900>")
$sResult = StringReplace($sResult, " [str] ", "[str]")
$sResult = StringReplace($sResult, " [argent]", "[money]")
EndIf
_IEQuit($oIE)
Return $sResult
EndFunc ;==>_GoogleTraslate
Func _URIEncode($sData)
; Prog@ndy
; https://www.autoitscript.com/forum/topic/95850-url-encoding/?do=findComment&comment=689060
Local $aData = StringSplit(BinaryToString(StringToBinary($sData, 4), 1), "")
Local $nChar
$sData = ""
For $i = 1 To $aData[0]
; ConsoleWrite($aData[$i] & @CRLF)
$nChar = Asc($aData[$i])
Switch $nChar
Case 45, 46, 48 To 57, 65 To 90, 95, 97 To 122, 126
$sData &= $aData[$i]
Case 32
$sData &= "+"
Case Else
$sData &= "%" & Hex($nChar, 2)
EndSwitch
Next
Return $sData
EndFunc ;==>_URIEncode