public static async Task <TranslationResult> TranslateAsync(this string forTranslate, string toLang) { var translator = new GoogleTranslator(); var from = Language.Auto; var to = GoogleTranslator.GetLanguageByISO(toLang); var result = await translator.TranslateLiteAsync(forTranslate, from, to) .ConfigureAwait(false); return(result); }
/// <summary> /// TODO: Refactor this urgently, use a HTML parser /// </summary> /// <param name="text"></param> /// <param name="origin"></param> /// <param name="destination"></param> /// <returns></returns> public string TranslateText(string text, string origin, string destination) { var translator = new GoogleTranslator(); Language from = GoogleTranslator.GetLanguageByISO(origin); Language to = GoogleTranslator.GetLanguageByISO(destination); TranslationResult result = translator.TranslateLiteAsync(text, from, to).GetAwaiter().GetResult(); var translated = FixTranslation(result.MergedTranslation); return(translated); }
private async Task Translate(TextBox txtSource, TextBox txtDest) { var translator = new GoogleTranslator(); Language from = Language.Auto; Language to = GoogleTranslator.GetLanguageByISO("ar"); TranslationResult result = await translator.TranslateLiteAsync(txtSource.Text, from, to); //You can get all text using MergedTranslation property string resultMerged = result.MergedTranslation; txtDest.Text = resultMerged; }
static void Main(string[] args) { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Language english = GoogleTranslator.GetLanguageByName("English"); // define language this way Language russian = Language.Russian; // or even this way Language french = GoogleTranslator.GetLanguageByISO("fr"); // you could also use ISO639 value //TranslationResult result = Translator.TranslateAsync("Hello. How are you?", english, russian).GetAwaiter().GetResult(); Language cn = Language.ChineseSimplified; // or even this way TranslationResult result = Translator.TranslateAsync("Hello. How are you?", english, cn).GetAwaiter().GetResult(); Console.WriteLine($"Result 1: {result.MergedTranslation}"); TranslationResult result1 = Translator.TranslateAsync("今天是你的生日,我的中国!", cn, english).GetAwaiter().GetResult(); Console.WriteLine($"Result 1-1: {result1.MergedTranslation}"); TranslationResult result2 = Translator.TranslateAsync(new TranslateItem("The quick brown fox jumps over the lazy dog. Brown fox")) .GetAwaiter() .GetResult(); for (var i = 0; i < result2.FragmentedTranslation.Length; i++) { var part = result2.FragmentedTranslation[i]; Console.WriteLine($"Result 2.{i} = {part}"); } //TranslationResult result3 = // Translator.TranslateAsync("Run", english, Language.Dutch) // .GetAwaiter() // .GetResult(); //foreach (var noun in result3.ExtraTranslations.Noun) //{ // Console.WriteLine($"{noun.Phrase}: {string.Join(", ", noun.PhraseTranslations)}"); //} Console.ReadLine(); }
public async Task <TranslationResult> TranslateAsync(string text, string to, string from = "") { if (text == null) { throw new ArgumentNullException(nameof(text)); } if (to == null) { throw new ArgumentNullException(nameof(to)); } var langFrom = from == string.Empty ? Lang.Auto : GoogleTranslator.GetLanguageByISO(from); var langTo = GoogleTranslator.GetLanguageByISO(to); var result = await _translator.TranslateAsync(text, langFrom, langTo); return(new TranslationResult { Translations = result.FragmentedTranslation }); }
public async static Task <IList <string> > TranslateDescription(IList <string> list, string isoLanguageTo) { string description = string.Join("|", list); var translate = new GoogleTranslator(); Language fromLang = Language.Auto; Language from = GoogleTranslator.GetLanguageByISO(fromLang.FullName); Language to = GoogleTranslator.GetLanguageByName(isoLanguageTo); TranslationResult result = await translate.TranslateLiteAsync(description, fromLang, 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? return(resultMerged.Split('|').Select(x => x.TrimStart()).ToList()); }
public async Task Reload() { TargetChannel = Link.Channel; var valueSplit = Link.Value.Split("|"); var channelIdString = valueSplit[0]; var sourceLanguageISO = valueSplit[1]; var targetLanguageISO = valueSplit[2]; var lastMessageIdString = valueSplit[3]; TargetLanguage = GoogleTranslator.GetLanguageByISO(targetLanguageISO); SourceLanguage = GoogleTranslator.GetLanguageByISO(sourceLanguageISO); if (ulong.TryParse(channelIdString, out ulong channelId)) { SourceChannel = await Link.Guild.GetTextChannelAsync(channelId).ConfigureAwait(false); } if (ulong.TryParse(lastMessageIdString, out ulong lastMessageId)) { LastMessageId = lastMessageId; } }
// Some other user defined properties... public TranslateItem(string text) { OriginalText = text; FromLanguage = new Language("English", "en"); ToLanguage = GoogleTranslator.GetLanguageByISO("fr"); }