[Script] Automatic Translator (version actuelle : 1.03)
#1
 
Automatic Translator

Description

Automatic Translator est un traducteur fonctionnant grâce à l'API de Yandex et permettant de traduire des textes en 63 langues différentes.

Il fait également office d'interprète en vous permettant de traduire automatiquement et presqu'instantanément tout ce que dit un utilisateur.



Fonctionnalités
  • Support multilingue (packs de langue français et anglais fournis).
  • Traduction de 63 langues différentes.
  • Quota de 1 000 000 de caractères par jour ou 10 000 000 par mois avec la version gratuite de l'API de Yandex (info datée du 09/04/2016).
  • L'interprète peut détecter automatiquement la langue d'origine et la traduire dans la langue de votre choix.
  • L'interprète automatique ne tentera pas de traduire les commandes.
  • L'interprète automatique ne traduira que ce qui nécessite de l'être.
  • L'interprète automatique ne tentera pas de traduire les nicks des utilisateurs présents s'ils sont utilisés dans une phrase.
  • La connexion à l'API se fait de manière asynchrone.
  • Anti-flood.
  • Possibilité de configurer des commandes alternatives.



Screenshots

[Image: http://i.imgur.com/80mvOaj.png]

[Image: http://i.imgur.com/PkgMI9k.png]

[Image: http://i.imgur.com/ZmJuHlA.png]



Syntaxe

!traduire [[depuis-]vers] <texte>
Traduit le texte spécifié.

!translate lang   ou   !autotranslate lang
Affiche la liste détaillée des langues supportées.

!autotranslate <nick> [[depuis-]vers]
Active l'interprète automatique sur l'utilisateur spécifié.

!autotranslate <nick> off
Désactive l'interprète automatique sur l'utilisateur spécifié.



Langues supportées

af (Afrikaans), ar (Arabe), az (Azéri), be (Biélorusse), bg (Bulgare), bs (Bosnien), ca (Catalan), cs (Tchèque), cy (Gallois), da (Danois), de (Allemand), el (Grec), en (Anglais), es (Espagnol), et (Estonien), eu (Basque), fa (Perse), fi (Finnois), fr (Français), ga (Irlandais), gl (Galicien), he (Hébreu), hr (Croate), ht (Haïtien Créole), hu (Hongrois), hy (Arménien), id (Indonésien), is (Islandais), it (Italien), ja (Japonais), ka (Géorgien), kk (Kazakh), ko (Coréen), ky (Kirghize), la (Latin), lt (Lituanien), lv (Letton), mg (Malgache), mk (Macédonien), mn (Mongolien), ms (Malais), mt (Maltais), nl (Néerlandais), no (Norvégien), pl (Polonais), pt (Portuguais), ro (Roumain), ru (Russe), sk (Slovaque), sl (Slovène), sq (Albanais), sr (Serbe), sv (Suédois), sw (Swahili), tg (Tadjik), th (Thaï), tl (Tagalog), tr (Turc), tt (Tatar), uk (Ukrainien), uz (Ouzbek), vi (Vietnamien), zh (Chinois)



Installation et activation

L'API de Yandex étant accessible uniquement via HTTPS, vous aurez besoin des packages tls et json.

Pour un Eggdrop sous Linux :
  • Installez le package tls en tapant : apt-get install tcl-tls
  • Installez Tcllib en tapant : apt-get install tcllib
  • Redémarrez votre Eggdrop

Pour un Windrop sous Windows :
  • Téléchargez Tcllib (http://www.tcl.tk/software/tcllib/) et mettez le contenu du répertoire modules/json/ dans répertoire_de_votre_egg/lib/tcl8.5/json/
  • En ce qui concerne le support TLS, vous n'avez malheureusement pas de chance car il semble qu'il n'existe pas de version réellement stable de ce package Tcl sous Windows.
    Celles que j'ai essayées fonctionnaient au mieux une fois de temps en temps.
    Une autre solution s'offre à vous mais nécessite que vous possédiez un hébergement web sur lequel vous pouvez exécuter du php.
    Mettez simplement le fichier .php qui est fourni avec ce script sur votre hébergement, puis cherchez la ligne suivante au début du fichier Automatic_Translator.tcl :
    variable API_url "https://translate.yandex.net/api/v1.5/tr.json/translate?"
    et remplacez-la par :
    variable API_url "http://www.VOTRE.HEBERGEMENT/CHEMIN_VERS_LE_FICHIER/automatic_translator_http_bridge.php?"
    en prenant évidemment soin de remplacer VOTRE.HEBERGEMENT et CHEMIN_VERS_LE_FICHIER par les informations appropriées.

Pour activer Automatic Translator sur un chan, vous devez taper ceci en partyline de l'Eggdrop :
     .chanset #NomDuChan +AutoTranslator
et ceci pour le désactiver :
     .chanset #NomDuChan -AutoTranslator
Attention aux majuscules !



Problèmes connus
  • Les langues utilisant des caractères unicode posent problème en entrée : L'API de Yandex ne supporte pas que certains caractères soient envoyés sous forme hexadécimale (conséquence de l'URL encoding) mais l'Eggdrop semble ne pas savoir envoyer proprement ce genre de caractères au serveur.
    Problème constaté avec le package http mais aussi en connexion manuelle par socket.




Changelog

1.0
  • Première version.
v1.01
  • Correction : le paramètre tls_workaround était mal implémenté et ne fonctionnait pas.
  • Modification : afin d'afficher au maximum les messages d'erreur dans la bonne langue, certains messages d'erreur concernant le chargement des packages requis ont été ajoutés aux packs de langues.
v1.02
  • Correction : le paramètre autotranslate_cmds avait été mal orthographié dans le fichier .cfg, ce qui provoquait une erreur au démarrage du script.
    Cela vient du fait que la config utilisée pour les releases est un peu différentes des réglages que j'utilise couramment chez moi.
  • Correction : l'adjonction du préfixe indiquant les langues traduites au début du texte traduit corrompait le charset de certaines langues unicode.
  • Correction : les codes de styles (couleurs, gras, ...) sont maintenant filtrés avant soumission du texte à Yandex.
  • Modification : la version requise pour le package tls est passée de la v1.6 à la v1.5
  • Modification : la version requise pour le package json est passée de la v1.3.0 à la v1.0
  • Modification : la description du paramètre fix_charset a été modifiée.
    Vous devez activer cette option si vous avez un Eggdrop v1.8
v1.03
  • Correction : le système de préservation des nicks dans l'interprète automatique était susceptible de corrompre un charset unicode lors de la substitution.



Téléchargement

Automatic Translator v1.03


Laissez vos commentaires / questions / suggestions / rapports de bugs.

Vous pouvez trouver une liste de mes autres releases ici
 
Répondre Avertir
#2
Nouvelle version disponible : v1.01

Changelog partiel :

Citation :v1.01
  • Correction : le paramètre tls_workaround était mal implémenté et ne fonctionnait pas.
  • Modification : afin d'afficher au maximum les messages d'erreur dans la bonne langue, certains messages d'erreur concernant le chargement des packages requis ont été ajoutés aux packs de langues.


Téléchargement :   Automatic Translator v1.01

Vous pouvez trouver une liste de mes autres releases ici


Laissez vos commentaires / suggestions / rapports de bugs.
Répondre Avertir
#3
Nouvelle version disponible : v1.02

Changelog partiel :

Citation :v1.02
  • Correction : le paramètre autotranslate_cmds avait été mal orthographié dans le fichier .cfg, ce qui provoquait une erreur au démarrage du script.
    Cela vient du fait que la config utilisée pour les releases est un peu différentes des réglages que j'utilise couramment chez moi.
  • Correction : l'adjonction du préfixe indiquant les langues traduites au début du texte traduit corrompait le charset de certaines langues unicode.
  • Correction : les codes de styles (couleurs, gras, ...) sont maintenant filtrés avant soumission du texte à Yandex.
  • Modification : la version requise pour le package tls est passée de la v1.6 à la v1.5
  • Modification : la version requise pour le package json est passée de la v1.3.0 à la v1.0
  • Modification : la description du paramètre fix_charset a été modifiée.
    Vous devez activer cette option si vous avez un Eggdrop v1.8

Coup de gueule :
Je m'étonne quand même que 11 personnes aient déjà téléchargé ce script et ne m'aient fait aucun retour sur les problèmes rencontrés.
Tout problème signalé est corrigé dans les meilleurs délais.
Tout problème non signalé a peu de chances d'être corrigé tant que je ne m'en apercevrai pas.


Téléchargement :   Automatic Translator v1.02

Vous pouvez trouver une liste de mes autres releases ici


Laissez vos commentaires / suggestions / rapports de bugs.
Répondre Avertir
#4
Nouvelle version disponible : v1.03

Changelog partiel :

Citation :v1.03
  • Correction : le système de préservation des nicks dans l'interprète automatique était susceptible de corrompre un charset unicode lors de la substitution.

Téléchargement :   Automatic Translator v1.03

Vous pouvez trouver une liste de mes autres releases ici


Laissez vos commentaires / suggestions / rapports de bugs.
Répondre Avertir
#5
bonjour,

le script ne fonctionne pas sur eggdrop 1.8.1 Linux
Répondre
#6
Mais si, c'est juste le test de version qui échoue.

Cherche :
tcl
if { [regsub -all {\.} [lindex $::version 0] ""] < 1620 } { putloglev o * "\00304\[Automatic Translator - erreur\]\003 La version de votre Eggdrop est\00304 ${::version}\003; Automatic Translator ne fonctionnera correctement que sur les Eggdrops version 1.6.20 ou supérieure." ; return }



Remplace par :
tcl
if { [package vcompare [regexp -inline {^[[:digit:]\.]+} $::version] 1.6.20] == -1 } { putloglev o * "\00304\[Automatic Translator - erreur\]\003 La version de votre Eggdrop est\00304 ${::version}\003; Automatic Translator ne fonctionnera correctement que sur les Eggdrops version 1.6.20 ou supérieure." ; return }


Répondre Avertir
#7
(26/12/2017, 15:50)MenzAgitat a écrit : Mais si, c'est juste le test de version qui échoue.

Cherche :
tcl
if { [regsub -all {\.} [lindex $::version 0] ""] < 1620 } { putloglev o * "\00304\[Automatic Translator - erreur\]\003 La version de votre Eggdrop est\00304 ${::version}\003; Automatic Translator ne fonctionnera correctement que sur les Eggdrops version 1.6.20 ou supérieure." ; return }



Remplace par :
tcl
if { [package vcompare [regexp -inline {^[[:digit:]\.]+} $::version] 1.6.20] == -1 } { putloglev o * "\00304\[Automatic Translator - erreur\]\003 La version de votre Eggdrop est\00304 ${::version}\003; Automatic Translator ne fonctionnera correctement que sur les Eggdrops version 1.6.20 ou supérieure." ; return }


Merci! ça marche!
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté