Bonjour =C3=A0 tous,
J'ai trouv=C3=A9 sur Youtube la fonction de traduction (via Google translat=
e) mise =C3=A0 disposition par Dinesh Kumar Takyar, et qui est ce que je re=
cherchais. ;-)
Toutefois si c'=C3=A9tait possible je souhaiterais traduire avec DeepL (qui=
est plus pr=C3=A9cis dans le jargon de ma soci=C3=A9t=C3=A9) et vous deman=
de s'il est possible de modifier cette fonction pour qu'elle fonctionne ave=
c ce traducteur.
Je vous remercie d'avance pour votre aide.
Emile=20
---------------------------------------
Public Function Translate(strInput As String, strFromSourceLanguage As Stri=
ng, strToTargetLanguage As String) As String
Dim strURL As String
Dim objHTTP As Object
Dim objHTML As Object
Dim objDivs As Object, objDiv As Object
Dim strTranslated As String
' send query to web page via Google:
strURL =3D "https://translate.google.com/m?hl=3D" & strFromSourceLangua=
ge & _
"&sl=3D" & strFromSourceLanguage & _
"&tl=3D" & strToTargetLanguage & _
"&ie=3DUTF-8&prev=3D_m&q=3D" & strInput
'......................................................
' La m=C3=AAme chose via Deepl
'https://www.deepl.com/translator#fr/en/ceci%20est%20un%20test
'......................................................
Set objHTTP =3D CreateObject("MSXML2.ServerXMLHTTP") 'late binding
objHTTP.Open "GET", strURL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6=
.0; Windows NT 5.0)"
objHTTP.send ""
' create an html document
Set objHTML =3D CreateObject("htmlfile")
With objHTML
.Open
.Write objHTTP.responsetext
.Close
End With
=20
'Range("H1") =3D objHTTP.responsetext
Set objDivs =3D objHTML.getElementsByTagName("div")
For Each objDiv In objDivs
If objDiv.className =3D "t0" Then
strTranslated =3D objDiv.innerText
Translate =3D strTranslated
End If
Next objDiv
Set objHTML =3D Nothing
Set objHTTP =3D Nothing
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
benoit
Emile63 wrote:
Bonjour à tous, J'ai trouvé sur Youtube la fonction de traduction (via Google translate) mise à disposition par Dinesh Kumar Takyar, et qui est ce que je recherchais. ;-) Toutefois si c'était possible je souhaiterais traduire avec DeepL (qui est plus précis dans le jargon de ma société) et vous demande s'il est possible de modifier cette fonction pour qu'elle fonctionne avec ce traducteur. Je vous remercie d'avance pour votre aide. Emile --------------------------------------- Public Function Translate(strInput As String, strFromSourceLanguage As String, strToTargetLanguage As String) As String Dim strURL As String Dim objHTTP As Object Dim objHTML As Object Dim objDivs As Object, objDiv As Object Dim strTranslated As String ' send query to web page via Google: strURL = "https://translate.google.com/m?hl=" & strFromSourceLanguage & _ "&sl=" & strFromSourceLanguage & _ "&tl=" & strToTargetLanguage & _ "&ie=UTF-8&prev=_m&q=" & strInput '...................................................... ' La même chose via Deepl 'https://www.deepl.com/translator#fr/en/ceci%20est%20un%20test '...................................................... Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") 'late binding objHTTP.Open "GET", strURL, False objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE objHTTP.se6.0; Windows NT 5.0)" nd "" ' create an html document Set objHTML = CreateObject("htmlfile") With objHTML .Open .Write objHTTP.responsetext .Close End With 'Range("H1") = objHTTP.responsetext Set objDivs = objHTML.getElementsByTagName("div") For Each objDiv In objDivs If objDiv.className = "t0" Then strTranslated = objDiv.innerText Translate = strTranslated End If Next objDiv Set objHTML = Nothing Set objHTTP = Nothing End Function
Dans le code de la page j'ai trouvé : <textarea class="lmt__textarea lmt__source_textarea lmt__textarea_base_style" data-gramm_editor="false" autofocus="" tabindex="110" dl-test="translator-source-input" lang="fr" style="height: 521px;"> Contenu masqué (Agent utilisateur) <div contenteditable="plaintext-only">ceci est un test</div> </textarea> Et un peu plus loin : <textarea class="lmt__textarea lmt__target_textarea lmt__textarea_base_style" data-gramm_editor="false" tabindex="110" dl-test="translator-target-input" lang="en" style="height: 521px;"> Contenu masqué (Agent utilisateur) <div contenteditable="plaintext-only">this is a test</div> = $0 </textarea> Si tu enregistres la page html, les zones de texte sont vides. Il y a donc beaucoup de js derrière. Pour éviter qu'on fasse gratuitement ce que tu veux faire. -- Vie : n.f. maladie mortelle sexuellement transmissible Benoît chez leraillez.com
Emile63 <sanz.emile@gmail.com> wrote:
Bonjour à tous,
J'ai trouvé sur Youtube la fonction de traduction (via Google translate)
mise à disposition par Dinesh Kumar Takyar, et qui est ce que je
recherchais. ;-) Toutefois si c'était possible je souhaiterais traduire
avec DeepL (qui est plus précis dans le jargon de ma société) et vous
demande s'il est possible de modifier cette fonction pour qu'elle
fonctionne avec ce traducteur.
Je vous remercie d'avance pour votre aide.
Emile
---------------------------------------
Public Function Translate(strInput As String, strFromSourceLanguage As
String, strToTargetLanguage As String) As String
Dim strURL As String
Dim objHTTP As Object
Dim objHTML As Object
Dim objDivs As Object, objDiv As Object
Dim strTranslated As String
' send query to web page via Google:
strURL = "https://translate.google.com/m?hl=" & strFromSourceLanguage
& _ "&sl=" & strFromSourceLanguage & _ "&tl=" & strToTargetLanguage &
_ "&ie=UTF-8&prev=_m&q=" & strInput
'......................................................
' La même chose via Deepl
'https://www.deepl.com/translator#fr/en/ceci%20est%20un%20test
'......................................................
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") 'late binding
objHTTP.Open "GET", strURL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE
objHTTP.se6.0; Windows NT 5.0)" nd ""
' create an html document
Set objHTML = CreateObject("htmlfile")
With objHTML
.Open
.Write objHTTP.responsetext
.Close
End With
'Range("H1") = objHTTP.responsetext
Set objDivs = objHTML.getElementsByTagName("div")
For Each objDiv In objDivs
If objDiv.className = "t0" Then
strTranslated = objDiv.innerText
Translate = strTranslated
End If
Next objDiv
Set objHTML = Nothing
Set objHTTP = Nothing
End Function
Dans le code de la page j'ai trouvé :
<textarea class="lmt__textarea lmt__source_textarea
lmt__textarea_base_style" data-gramm_editor="false" autofocus=""
tabindex="110" dl-test="translator-source-input" lang="fr"
style="height: 521px;">
Contenu masqué (Agent utilisateur)
<div contenteditable="plaintext-only">ceci est un test</div>
</textarea>
Et un peu plus loin :
<textarea class="lmt__textarea lmt__target_textarea
lmt__textarea_base_style" data-gramm_editor="false" tabindex="110"
dl-test="translator-target-input" lang="en" style="height: 521px;">
Contenu masqué (Agent utilisateur)
<div contenteditable="plaintext-only">this is a test</div> = $0
</textarea>
Si tu enregistres la page html, les zones de texte sont vides. Il y a
donc beaucoup de js derrière. Pour éviter qu'on fasse gratuitement ce
que tu veux faire.
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoît chez leraillez.com
Bonjour à tous, J'ai trouvé sur Youtube la fonction de traduction (via Google translate) mise à disposition par Dinesh Kumar Takyar, et qui est ce que je recherchais. ;-) Toutefois si c'était possible je souhaiterais traduire avec DeepL (qui est plus précis dans le jargon de ma société) et vous demande s'il est possible de modifier cette fonction pour qu'elle fonctionne avec ce traducteur. Je vous remercie d'avance pour votre aide. Emile --------------------------------------- Public Function Translate(strInput As String, strFromSourceLanguage As String, strToTargetLanguage As String) As String Dim strURL As String Dim objHTTP As Object Dim objHTML As Object Dim objDivs As Object, objDiv As Object Dim strTranslated As String ' send query to web page via Google: strURL = "https://translate.google.com/m?hl=" & strFromSourceLanguage & _ "&sl=" & strFromSourceLanguage & _ "&tl=" & strToTargetLanguage & _ "&ie=UTF-8&prev=_m&q=" & strInput '...................................................... ' La même chose via Deepl 'https://www.deepl.com/translator#fr/en/ceci%20est%20un%20test '...................................................... Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") 'late binding objHTTP.Open "GET", strURL, False objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE objHTTP.se6.0; Windows NT 5.0)" nd "" ' create an html document Set objHTML = CreateObject("htmlfile") With objHTML .Open .Write objHTTP.responsetext .Close End With 'Range("H1") = objHTTP.responsetext Set objDivs = objHTML.getElementsByTagName("div") For Each objDiv In objDivs If objDiv.className = "t0" Then strTranslated = objDiv.innerText Translate = strTranslated End If Next objDiv Set objHTML = Nothing Set objHTTP = Nothing End Function
Dans le code de la page j'ai trouvé : <textarea class="lmt__textarea lmt__source_textarea lmt__textarea_base_style" data-gramm_editor="false" autofocus="" tabindex="110" dl-test="translator-source-input" lang="fr" style="height: 521px;"> Contenu masqué (Agent utilisateur) <div contenteditable="plaintext-only">ceci est un test</div> </textarea> Et un peu plus loin : <textarea class="lmt__textarea lmt__target_textarea lmt__textarea_base_style" data-gramm_editor="false" tabindex="110" dl-test="translator-target-input" lang="en" style="height: 521px;"> Contenu masqué (Agent utilisateur) <div contenteditable="plaintext-only">this is a test</div> = $0 </textarea> Si tu enregistres la page html, les zones de texte sont vides. Il y a donc beaucoup de js derrière. Pour éviter qu'on fasse gratuitement ce que tu veux faire. -- Vie : n.f. maladie mortelle sexuellement transmissible Benoît chez leraillez.com