Traduire texte

Le plugin « Traduire texte » emploie les API de Google Translate, de Bing, de Yandex ou (Nouveau !) de DeepL pour traduire de manière automatique des contenus.

Pour le configurer, il faut se procurer une clé d’API de l’un de ces outils, et la renseigner dans config/mes_options.php sous la forme :

define('_GOOGLETRANSLATE_APIKEY', 'xxxx');
define('_BING_APIKEY', 'xxxxx');
define('_YANDEX_APIKEY', 'xxxxx');

Une fois la clé renseignée, vous pouvez include_spip('inc/traduire_texte'); et disposez alors de deux fonctions :

traduire_texte( $text, $destLang, $srcLang)

cette fonction appelle l’API et renvoie la traduction ; elle ne conserve rien en cache, il ne faut donc pas l’utiliser directement, sauf si on entend mettre le résultat en cache soi-même.

traduire( $text, $destLang, $srcLang)

cette fonction vérifie son cache (dans la table spip_traductions, et en cas de besoin appelle la fonction traduire_texte() et enregistre le résultat dans le cache.

Exemple :

include_spip('inc/traduire_texte');
echo traduire('Bonjour comment vas-tu ?', 'en', 'fr');

// => "Hello how are you?"

translate-shell

Alternativement, si vous avez installé translate-shell en ligne de commande et qu’il est disponible pour votre service web, vous pouvez le renseigner dans

define('_TRANSLATESHELL_CMD', '/chemin/de/la/commande/trans');

Cette approche par la ligne de commande n’est cependant destinée qu’à des tests, car elle n’est pas conforme aux conditions d’utilisation exigées par Google ou Bing.

Pour effectuer des traductions à la volée

[2020] Pour effectuer des traductions à la volée dans vos squelettes, il vous faut inclure le fichier js/traduiretexte.js dans le <head> du html :

[<script src="(#CHEMIN{js/traduiretexte.js})" type="text/javascript"></script>]

Ajoutez ensuite class="translate_me" aux balises qui contiennent le texte à traduire, ainsi que l’attribut dir="ltr" qui signifie left to right ou dir="rtl" pour un texte right to left.

Exemples

<div dir="ltr" lang="en" class="translate_me">Hello World</div>
<div dir="ltr" lang="es" class="translate_me">Buenos dias el mundo</div>
<div dir="ltr" lang="ar" class="translate_me">مرحبا بالعالم</div>

démo

Deux modes de démo pour vérifier le bon fonctionnement du plugin
-  dans le privé : la page /ecrire/?exec=traduiretexte
-  dans le public, avec ajax /?page=demo/test_traduiretexte

Discussion

Une discussion

  • bonjour,

    Je souhaiterais mettre en place une traduction automatique par le plugin traduire texte sur le site handivelo.fr

    J’ai récupéré la clé API FREE DeepL.
    Pourrais-je avoir une aide, je souhaiterais savoir dans quel fichier je dois insérer les scripts :

    balise head :
    spip_code spip_code_block[

    <script src="(#CHEMIN{js/traduiretexte.js})" type="text/javascript"></script>

    ]

    class=« translate_me »
    dir=« ltr »
     
    Je vous remercie de votre aide,
    bien cordialement
    Christophe

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom