GTradRestAPI – Librairie de classes C# cliente du service Google Translate
Cette librairie de classes C# implémente un client sur HTTP pour le service de traduction de Google.
Contrairement aux clients officiels de l’API Google Translate, celui-ci se connecte auprès du service Google comme si il s’agissait du module de traduction de Chrome. Cela dispense de disposer d’une clef d’API pour le service.
Caractéristiques du client GTradRestAPI:
- paramètres en entrée: texte à traduire, langue source et langue cible
- le texte est découpé en segments, en fonction de la ponctuation, des sauts de ligne et des tailles de segments
- chaque segment fait l’objet d’une requête asynchrone (async/await) auprès du service de traduction
- les résultats partiels sont rassemblés pour construire la traduction complète
- .NET Framework 4.6.2, Any CPU, dépendances: aucune
Utilisation:
GCl = new GTradRestAPIClient(); // langage source, langage cible, texte à traduire var r = GCl.TranslateAsync(Languages.fr, Languages.de, text); // texte traduit ou erreur var res = r.Result; // le texte traduit
Interface graphique:
L’outil GMiniTranslator (pour le bureau Windows et gratuit) utilise la librairie GTradRestAPI
Opérations synchrones:
/* * SYNC API */ /// <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);
Opérations asynchrones:
/* * ASYNC API */ /// <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> Task<Translation> TranslateAsync( Languages sourceLanguage, Languages targetLanguage, 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> Task<Translation> TranslateFromNamesAsync( string sourceLanguageName, string targetLanguageName, 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> Task<Translation> TranslateAsync( string sourceLanguageId, string targetLanguageId, string text );
Paramètres:
Les codes langues sont décrits par l’énumération Languages
:
Utilisation en ligne de commande:
La compilation par défaut de la librairie produit une exécutable en ligne de commande. Voir cette page pour les détails d’utilisation