GTradRestAPI – Librairie de classes C# cliente du service Google Translate

icon for a translationCette 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.

Cette librairie C# est open source (licence MIT).Retrouvez là sur GitHub : code source (archive GIT)

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

gmini translator 2

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 :

afAfrikaans
sqAlbanian
arArabic
azAzerbaijani
euBasque
beBelarusian
bnBengali
bgBulgarian
caCatalan
zh_CNChinese Simplified
zh_TWChinese Traditional
hrCroatian
csCzech
daDanish
nlDutch
enEnglish
eoEsperanto
etEstonian
tlFilipino
fiFinnish
frFrench
glGalician
kaGeorgian
deGerman
elGreek
guGujarati
htHaitian Creole
iwHebrew
hiHindi
huHungarian
ice Icelandic
idIndonesian
gaIrish
itItalian
jaJapanese
knKannada
koKorean
laLatin
lvLatvian
ltLithuanian
mkMacedonian
msMalay
mtMaltese
noNorwegian
faPersian
plPolish
ptPortuguese
roRomanian
ruRussian
srSerbian
skSlovak
slSlovenian
esSpanish
swSwahili
svSwedish
taTamil
teTelugu
thThai
trTurkish
ukUkrainian
urUrdu
viVietnamese
cyWelsh
yiYiddish

 

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

Laisser un commentaire