Utiliser Google Traduction gratuitement en ligne de commande (Google translate for free)

image

clavier avec touche traductionL‘API officielle Google Translate est disponible pour les entreprises en payant un droit de licence… Mais il est possible d’appeller l’API secrète translate.googleapis.com qui est utilisée en interne par l’extension pour Chrome de Google Translate !

Sur son site Digital Inspiration, le célèbre Amit Agarwal (historiquement le 1er blogger Indien) nous informe de cette possibilité et nous montre comment la mettre en oeuvre en Javascript.

Cela m’a donné l’idée de réaliser une petite API en C# pour fournir l’accès au service de traduction, et un outil en ligne de commande pour utiliser l’API. Voici un exemple du résultat :

console dos GTradRestAPI

L’API « secrète » de Google Trad expose un service REST via HTTP/HTTPS GET. Les paramètres sont donc fournis via les données d’URL, et le service répond en JSON. Ce programme utilise l’excellente librairie NewtonSoft Json pour décoder le résultat.

La syntaxe de la commande est donnée par celle-ci en l’abscence de paramètres :

GTradRestAPI.exe

command line syntax:
source_langid target_langid text [-q]
    source_langid : original text lang id
    target_langid : translated text lang id
    -q : turn off all outputs excepting errors
or
    -list : dump list of langugaes ids & names

les codes de langue qu’il faut fournir en paramètre pour la traduction peuvent être obtenus en utilisant la deuxième syntaxe de la commande :

GTradRestAPI.exe -list

l’API proposée ici permet d’effectuer le même travail qu’avec l’outil en ligne de commande tout en acceptant de travailler avec les noms ou les codes de langues en plus des identifiants:

namespace GTradRestAPI
{
    public interface IGTradRestAPIClient
    {
        /// <summary>
        /// translate text from source and target languages codes
        /// </summary>
        /// <param name="sourceLanguage">source language code</param>
        /// <param name="targetLanguage">target language code</param>
        /// <param name="text">text to be translated</param>
        /// <returns>Translation object</returns>
        Translation Translate(string sourceLanguageId, string targetLanguageId, string text);

/// <summary>
        /// translate text from source and target language names if valids
        /// </summary>
        /// <param name="sourceLanguageName">source language name</param>
        /// <param name="targetLanguageName">target language name</param>
        /// <param name="text">text to be translated</param>
        /// <returns>Translation object</returns>
        Translation Translate(Languages sourceLanguage, Languages targetLanguage, string text);

/// <summary>
        /// translate text from source and target languages ids given as string if valids
        /// </summary>
        /// <param name="sourceLanguageId">source language id</param>
        /// <param name="targetLanguageId">target language id</param>
        /// <param name="text">text to be translated</param>
        /// <returns>Translation object</returns>
        Translation TranslateFromNames(string sourceLanguageName, string targetLanguageName, string text);
    }
}

comment obtenir l’outil ?

Le binaire est disponible en téléchargement sur ce site. Vous devez être connecté pour accéder au téléchargement. Utilisez le lien suivant pour télécharger l’outil GTradRestAPI.exe :

GTradRestAPI

Le code source est placé dans un repository public sur GitHub à l’adresse:

https://github.com/franck-gaspoz/GTradRestAPI

Pour en savoir plus sur le projet GitHub, accédez à la page du wiki du projet sur GitHub

à lire également :

Laisser un commentaire