Carnet Multilinguisme

Traduire texte

SPIP-Contrib :: Carnet Wiki :: Carnet Multilinguisme :: Recherche :

Traduire texte

Le plugin « Traduire texte » emploie les API de Google Translate et de Bing 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');

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.