免费使用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 | |
| Nuget | |
| License |
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"); 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()
- 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