Page 2 sur 2
Re: [Func] Translate
Posté : ven. 29 juil. 2011 19:31
par mikell
Alors là, c'est parfait
Je vais quand même être un poil ch!ant...
Pour le fun tu pourrais pas faire une gui avec 2 editbox et un bouton 'translate' ?

Re: [Func] Translate
Posté : ven. 29 juil. 2011 19:56
par PandiPanda
Juste pour une légère optimisation ? ^^
ceci;
► Afficher le texte
Code : Tout sélectionner
Func UTF8Decode($text)
Dim Const $inputUTF8[18] = ['é', 'à ', 'è', 'â', 'ù', 'ô', 'û', 'î', 'ê', 'ò', 'ì', 'ù', 'ñ', 'ç', ''', 'Â', 'ó', 'á']
Dim Const $outputUTF8[18] = ['é', 'à', 'è', 'â', 'ù', 'ô', 'û', 'î', 'ê', 'ò', 'ì', 'ù', 'ñ', 'ç', "'", '', 'ó', 'á']
$i = 0
While $i < UBound($inputUTF8)
$text = StringReplace($text, $inputUTF8[$i], $outputUTF8[$i])
$i = $i + 1;
Sleep(10)
WEnd
return $text
EndFunc
je remplacerai par quelque chose comme ca;
Code : Tout sélectionner
Func UTF8Decode2($text)
Return BinaryToString(StringToBinary($text,1),4)
EndFunc
temps d'execution?
bout de code utilisé;
► Afficher le texte
Code : Tout sélectionner
Local $str='áááááááááááááááááááááááááááááá'& _
'ééééééééééééééééééééééééûûûûûûûûûûûûûêêêêêêêêêêêêê'
Local $T0=TimerInit()
UTF8Decode($str)
MsgBox(0,'',TimerDiff($T0))
$T0=TimerInit()
UTF8Decode2($str)
MsgBox(0,'',TimerDiff($T0))
Func UTF8Decode($text)
Dim Const $inputUTF8[18] = ['é', 'à ', 'è', 'â', 'ù', 'ô', 'û', 'î', 'ê', 'ò', 'ì', 'ù', 'ñ', 'ç', ''', 'Â', 'ó', 'á']
Dim Const $outputUTF8[18] = ['é', 'à', 'è', 'â', 'ù', 'ô', 'û', 'î', 'ê', 'ò', 'ì', 'ù', 'ñ', 'ç', "'", '', 'ó', 'á']
$i = 0
While $i < UBound($inputUTF8)
$text = StringReplace($text, $inputUTF8[$i], $outputUTF8[$i])
$i = $i + 1;
Sleep(10)
WEnd
return $text
EndFunc
Func UTF8Decode2($text)
Return BinaryToString(StringToBinary($text,1),4)
EndFunc
Re: [Func] Translate
Posté : ven. 29 juil. 2011 20:12
par aurel2108
Okey, je t'ai fais ça vite fait. ^^
Je met ça dans ce post vu que ce n'est pas une release de la fonction.
Merci @PandiPanda, c'est ce que je cherchais.
EDIT : J'ai viré l'exemple de ce post vu qu'il est dispo dans la 1.0.5 en premier post.

Re: [Func] Translate
Posté : ven. 29 juil. 2011 20:16
par PandiPanda
Essaye de traduire en mode [auto] [fr] et tu traduit 'Bonjour'

tu va voir un beau message d'erreur

Re: [Func] Translate
Posté : ven. 29 juil. 2011 20:36
par aurel2108
Bug corrigé. ^^
J'upload la 1.0.5 avec la correction du bug, la correction de UTF8Decode et l'exemple que j'ai donné précédemment. ^^
EDIT : Uploadé en premier post.

Re: [Func] Translate
Posté : ven. 29 juil. 2011 22:29
par PandiPanda
Quelque ajout que je verrai;
Pourquoi pas la possibilité de traduire une page internet?
Pourquoi pas la possibilité de traduire un document importer?

Re: [Func] Translate
Posté : ven. 29 juil. 2011 22:38
par mikell
Il est dur PandiPanda
sinon merci pour la gui (le wordwrap dans les editbox ... ?)
Re: [Func] Translate
Posté : ven. 29 juil. 2011 23:24
par PandiPanda
Pas trop mais autant être "complet"
Pour la traduction du site internet, c'est pas trop compliqué et c'est vite fait, par contre pour l'importation de document ca risque d'être plus tendu ... ^.^
Edit: test de l'exemple fourni
petit bug survenu avec ce texte la
resultat obtenu ...
autre bug ...
vélo => resultat => v? the
Re: [Func] Translate
Posté : ven. 29 juil. 2011 23:51
par aurel2108
Il me gâte le Panda, et j'aime ça.

Si tu le permet, je m'occupe en priorité des bugs que de tes propositions mais je les note.
Je vais regarder ça car le bug du <br>, je vois, mais pour l'autre. Oo
Re: [Func] Translate
Posté : sam. 30 juil. 2011 01:24
par PandiPanda
Bon Bon je peux être stupide par moment ...
Pour l'histoire du vélo => en v?the, il suffirai de remplacer;
► Afficher le texte
Code : Tout sélectionner
Func URLEncode($urlText)
$url = ""
For $i = 1 To StringLen($urlText)
$acode = Asc(StringMid($urlText, $i, 1))
Select
Case ($acode >= 48 And $acode <= 57) Or _
($acode >= 65 And $acode <= 90) Or _
($acode >= 97 And $acode <= 122)
$url = $url & StringMid($urlText, $i, 1)
Case $acode = 32
$url = $url & "+"
Case Else
$url = $url & "%" & Hex($acode, 2)
EndSelect
Next
Return $url
EndFunc ;==>URLEncode
par ceci;
► Afficher le texte
Code : Tout sélectionner
Func _UrlEncode($text)
$text = BinaryToString(StringToBinary($text,4),1)
$X2 = StringRegExp($text, '&#(.*?);', 3)
For $i = 0 To UBound($X2) - 1 Step 1
$text = StringReplace($text, '&#' & $X2[$i] & ';', ChrW($X2[$i]))
Next
return StringRegExpReplace($text,'\s','+')
EndFunc
Forcemment si le décodage fonctionne, il suffit de faire le contraire pour l'encodage

Re: [Func] Translate
Posté : sam. 30 juil. 2011 01:40
par aurel2108
PandiPanda, tu es un génie !
Je galérais à résoudre le bug d'encodage et tu m'as bien aidé.
J'ai aussi corrigé le bug des sauts de ligne.
Allez, j'upload la 1.0.6 en premier post.

Re: [Func] Translate
Posté : sam. 30 juil. 2011 01:49
par PandiPanda
Heureux d'avoir aider
Courage pour la suite

Re: [Func] Translate
Posté : sam. 30 juil. 2011 14:56
par aurel2108
Pour la traduction de documents, je vais d'abord me préoccuper du txt, ensuite je verrais pour d'autres formats (rtf, doc, odt, etc...). ^^"
Et pour la traduction de page web, je ne vois pas très bien comment. Oo
En renvoyant le code source traduit ? En renvoyant l'url vers la page traduite ?
Si vous pouviez préciser, ça m'aiderait beaucoup. ^^"
Re: [Func] Translate
Posté : sam. 30 juil. 2011 15:07
par PandiPanda
Pour la traduction d'une page internet, vous avez 2 choix ...
Soit vous retourner simplement l'url et ca sera donc a l'utilisateur de l'udf en question de faire ce qu'il veux avec cette url.
Donc pour l'url vous rentrer ceci ;
et ca sort ca;
Soit vous décider de sortir le code source de la page traduite, et renvoyer la traduction ...
► Afficher le texte
écrire dans un fichier texte le texte non traduit, et dessous le texte traduit?
Le plus facile étant le premier

Pour le 2ème, ca risque d'être dur avec la position de chaque text ou ca se trouve + la traduction.
Re: [Func] Translate
Posté : sam. 30 juil. 2011 15:12
par aurel2108
En effet, pour le code source c'est (beaucoup) plus dur car il y a une tonne de mots-clés à ne pas traduire. :/
Je vais donc surement renvoyer l'url pour l'instant, je verrais après.
Au fait, y'aurait-il un UDF permettant de gérer le .rtf et/ou le .doc et/ou le .odt et/ou le pdf, ou tout autre format contenant du texte ?
(PS totalement inutile : Serais-tu belge PandiPanda ? ^^)
Re: [Func] Translate
Posté : sam. 30 juil. 2011 15:24
par PandiPanda
pour le .doc il y'a toujours ceci => #include <Word.au3>
pour le
.rtf donc ca devrai être gérable '^^
Pour le .odt et .pdf ca doit être plus tendu ...
Et oui je suis belge, devinez grâce a ma Localisation?

Re: [Func] Translate
Posté : sam. 30 juil. 2011 15:40
par aurel2108
Merci pour l'udf du .doc

Pour le rtf, je devrais arriver à me débrouiller.
Pour le odt, c'est un format libre donc je devrais trouver quelque chose.
En revanche pour le pdf, ça va être dur. :/
(PS : J'ai deviné grâce à l'url de google translate et son .be :p, j'ai jamais regardé la localisation :p)
Re: [Func] Translate
Posté : sam. 30 juil. 2011 15:58
par PandiPanda
J'ai jamais essayer l'importation de document à traduire, mais si google traduction prend déja en charge les differents format, il n'est pas nécessaire à vouloir en extraire le fichier texte non?
Re: [Func] Translate
Posté : jeu. 04 août 2011 19:11
par pierrotm777
Merci pour ce partage