Api for free text translation using Google translate.
Main features:
- Text corrections
- Language corrections
- Language auto detection
- Transcriptions (original text, translated text)
- Synonyms
- Definitions + Examples
- Extra translations
- Proxy (Useful when getting a ban for a while)
Feature | TranslateLiteAsync | TranslateAsync |
---|---|---|
Text corrections | + | + |
Language corrections | + | + |
Language auto detection | + | + |
Transcriptions | + | + |
Synonyms | - | + |
Definitions + Examples | - | + |
Extra translations | - | + |
See Also | - | + |
Translation, transcription and text/language corrections
var translator = new GoogleTranslator();
Language from = Language.Auto;
Language to = GoogleTranslator.GetLanguageByName("Japanese");
TranslateResult result = await translator.TranslateLiteAsync("Hello. How are you?", from, to);
//The result is separated by the suggestions and the '\n' symbols
string[] resultSeparated = result.FragmentedTranslation;
//You can get all text using MergedTranslation property
string resultMerged = result.MergedTranslation;
//There is also original text transcription
string transcription = result.TranslatedTextTranscription; // Kon'nichiwa! Ogenkidesuka?
Language auto detection and correction
Language detectedLanguage = result.SourceLanguage;
Console.WriteLine(detectedLanguage.FullName);
// English
Console.WriteLine("Confidence: " + result.Corrections.Confidence); // number from 0 to 1
Language spanish = new Language("Spanish", "es"); // For the method, only the second parameter is important (ISO639)
var result2 = await translator.TranslateLiteAsync("world", spanish, GoogleTranslator.GetLanguageByName("Russian"));
if(result2.Corrections.LanguageWasCorrected) // true
Console.WriteLine($"The source language has been changed to {result2.Corrections.CorrectedLanguage.FullName}");
Console.WriteLine(result2.MergedTranslation) // мир
Text corrections
string misspellingsText = "The quik brown fox jumps ovver the lazy dog"
var english = new Language("English language", "en");
Console.WriteLine(GoogleTranslator.IsLanguageSupported(english)); // true
var result3 = await translator.TranslateLiteAsync(misspellingsText, english, GoogleTranslator.GetLanguageByISO("ru"));
if(result3.Corrections.TextWasCorrected)
foreach(string correctedWord in result3.Corrections.CorrectedWords)
Console.WriteLine(correctedWord + " "); // "quick", "over"
Console.WriteLine(result3.MergedTranslation) // "Быстрая коричневая лиса прыгает через ленивую собаку"
Synonyms, extra translations, definitions and so on.
GoogleTranslator translator = new GoogleTranslator();
var result4 = await translator.TranslateAsync(
"книга", GoogleTranslator.GetLanguageByName("Russian"), GoogleTranslator.GetLanguageByName("English"));
if(result.ExtraTranslations != null)
Console.WriteLine(result.ExtraTranslations.ToString()); // ToString returns friendly for reading string
Example of ToString output:
Noun:
book: книга, книжка, журнал, книжечка, том, текст
volume: объем, том, громкость, книга, емкость, масса
Abbreviation:
bk: книга, назад, обратно
You can also get any part of the speech indently
foreach(ExtraTranslation item in result4.ExtraTranslations)
Console.WriteLine($"{item.Phrase}: {String.Join(", ", item.PhraseTranslations)});
// just like item.ToString()
- Definitions
- Synonyms
- See also
Google Translate can ban IP that sends too many requests at the same time. Ban lasts about a few hours, but you can use a Proxy
var proxy = new WebProxy(uri); // You also can use GoogleTranslateFreeApi.Proxy class for this
translator.Proxy = proxy;
Released under the MIT License.
This repository сontains part of the code from the library google-translate-token