Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

CopyPlusPlus/GoogleTranslateFreeApi

Open more actions menu
 
 

Repository files navigation

GoogleTranslateFreeApi

免费使用google api翻译

这个项目是fork https://github.com/Grizley56/GoogleTranslateFreeApi 在原作者基础上,主要修改了以下几点:

  • 1.根据国内的情况,将翻译的服务器指向了国内
  • 2.将原框架支撑的.net standard1.1 修改为2.0
  • 3.更正了原作者中,支持中文翻译有错误的问题,在示例中添加了一个英译中,中译英的示例

#2021-1-11 -1.解决了1.2包报错的问题,但没有大规划测试,不知道能否正常使用.

Badge
Target Framework .Net Standard 2.0
Nuget Nuget
License MIT

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 - +

Usage

Translation, transcription and text/language corrections

var translator = new GoogleTranslator();

Language from = Language.Auto;
Language to = GoogleTranslator.GetLanguageByName("Japanese");

TranslationResult 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

var result2 = await translator.TranslateLiteAsync("Drones", Language.Auto, Language.Czech);

foreach(LanguageDetection languageDetection in result2.LanguageDetections)
{
	Console.WriteLine(languageDetection);
}

// The output will be next. Double in brackets is confidence
// Spanish (0.61010)
// English (0.34365)

Language spanish = new Language("Spanish", "es"); // For the method, only the second parameter is important (ISO639)

result2 = await translator.TranslateLiteAsync("world", spanish, Language.Czech);
Console.WriteLine(result2.LanguageDetections.First()); // English (0.98828)
Console.WriteLine(result2.MergedTranslation) // мир

Text corrections

string misspellingsText = "The quik brown fox jumps ovver the lazy dog"

var english = new Language("English language", "en");
// you could also get language from Language static properties
// for example: Language.English or Language.Korean

// check language is valid for GoogleTranslator class
Console.WriteLine(GoogleTranslator.IsLanguageSupported(english)); 

var result3 = await translator.TranslateLiteAsync(misspellingsText, english, GoogleTranslator.GetLanguageByISO("ru"));

if(result3.Corrections.TextWasCorrected)
	Console.WriteLine(string.Join(",", result3.Corrections.CorrectedWords); // "quick", "over"
	
Console.WriteLine(result3.MergedTranslation) // "Быстрая коричневая лиса прыгает через ленивую собаку"

Synonyms, extra translations, definitions and so on.

GoogleTranslator translator = new GoogleTranslator();

var result4 = await translator.TranslateAsync("книга", Language.Russian, Language.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()

There are other translate information getting by the same principe

  • 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;

LICENSE

Released under the MIT License.

This repository сontains part of the code from the library google-translate-token

About

Api for free text translation using Google translate

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.