Edit 2020/06: Le traducteur est également disponible dans le monde dans la région « Lab » de Speculoos (speculoos.world:8002:Lab).

Il y a toujours des problèmes avec les traducteurs. Le plus remarquable est… La plupart ne fonctionnent pas du tout (depuis que Google a modifié sa stratégie d’API). Et ceux qui « fonctionnent » utilisent une clé API qui est codée en dur et cesse souvent de travailler lorsque trop de gens obtiennent une copie du même élément.

J’ai donc repris un beau vieux projet, HG Universal Translator par Frank Ramos, qui semblait être abandonné (dernière version n’était pas fonctionnelle et était de 4 ans, même la version vendue pour 1 L $ sur SL marketplace était annoncée comme ne fonctionnant pas) et j’ai fait ce qu’il fallait pour que ça marche.

https://git.magiiic.com/opensimulator/Universal-Translator-Yandex

Pourquoi est-il beau ? Parce qu’il est multi-utilisateur et intelligent. Au lieu que chaque utilisateur présent interroge l’API de traduction, le traducteur regroupe les demandes. Donc, si 10 personnes veulent une traduction anglaise de quelqu’un qui parle en espagnol, seulement 1 demande de traduction est faite, au lieu de 10.

Et pourquoi intelligent? Parce que chaque traducteur vérifie s’il y en a d’autres autour de lui. S’il y a plusieurs traducteurs, l’un devient le maître (et effectue les demandes de traduction), les autres deviennent esclaves (reçoivent la traduction et la délivrent à « leurs » utilisateurs).

Ainsi, vous pouvez déposer un traducteur dans votre région et les utilisateurs peuvent en porter en HUD, pas de souci : les demandes à l’API de traduction sont optimisées, et une seule demande par paire de langue (anglais à espagnol, anglais à français…) est faite.

Est-ce que j’ai fait tout ça ? Non. C’était déjà la méthode du traducteur original de Hank Ramos.

Qu’est-ce que j’ai vraiment fait ?

  • adapter le script pour utiliser la traduction Yandex au lieu de Google ;
    Yandex utiliser une clé API gratuite, et le processus d’inscription est SIMPLE (inscrivez-vous, obtenez la clé). Google et Microsoft (pour n’en citer que deux) par exemple, non seulement comptent des frais pour la clé API, mais le processus d’enregistrement est bien trop compliqué. Ainsi, l’utilisateur qui reçoit une copie peut facilement obtenir sa propre clé. Au lieu d’avoir à distribuer une copie avec clé incluse qui, tôt ou tard, dépassera le plafond d’utilisation autorisé car partagée par des dizaines d’utilisateurs.
  • stocker la clé dans une notecard distincte ;
    Elle n’est pas codée dans le script comme dans certains autres traducteurs Yandex disponibles.
  • scripts remplacements pour les scripts manquants dans la version publiée de HG Universal Translator ;
    En fait, ce script open source tel qu’il a été distribué n’aurait pas pu fonctionner (même sans le problème de l’API Google) car certains scripts requis n’ont pas été inclus.
  • … et d’autres changements mineurs.