09/04/2016, 01:09
(Modification du message : 11/04/2016, 16:58 par MenzAgitat.)
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.
- 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.
- 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
- 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