public bool containsCongruents(ISO639[] targets) { ISO639 last = targets[0]; for (int i = 1; i < targets.Length; i++) { if (last.Value == targets[i].Value) { return(true); } last = targets[i]; } return(false); }
// ISO369-3 codes: http://www.sil.org/iso639-3/codes.asp public static IPostProcessor createProcessor(ISO639 code) { IPostProcessor processor; switch (code) { // case eng: // processor = new EngPP(); // break; case ISO639.vie: processor = new ViePP(); break; default: throw new Exception(code.ToString()); } return processor; }
// ISO369-3 codes: http://www.sil.org/iso639-3/codes.asp public static IPostProcessor createProcessor(ISO639 code) { IPostProcessor processor; switch (code) { // case eng: // processor = new EngPP(); // break; case ISO639.vie: processor = new ViePP(); break; default: throw new Exception(code.ToString()); } return(processor); }
public async Task <Translation> GetTranslation(string text, ISO639 source, ISO639 target) { string key = null; //Use your own key, thanks. Also, don't store it in a string. var uri = new Uri($"https://translation.googleapis.com/language/translate/v2?key={key}"); var postData = new JsonObject(); postData.Add("source", JsonValue.CreateStringValue(source.Value)); postData.Add("target", JsonValue.CreateStringValue(target.Value)); var queryArray = new JsonArray(); queryArray.Add(JsonValue.CreateStringValue(text)); postData.Add("q", queryArray); var json = new StringContent( postData.ToString(), Encoding.UTF8, "application/json" ); var response = await client.PostAsync(uri, json); var responseText = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { return(new Translation(null, target)); } var responseJson = JsonValue.Parse(responseText).GetObject(); var responseTranslation = responseJson["data"].GetObject()["translations"].GetArray()[0].GetObject()["translatedText"].GetString(); responseTranslation = System.Net.WebUtility.HtmlDecode(responseTranslation); return(new Translation(responseTranslation, target)); }
async Task <IEnumerable <Translation[]> > ITranslationService.GetSuperTranslation(string text, ISO639 source, int threads, int layers) { var translationThreads = new List <Translation[]>(); var languages = LanguageManager.GetAllLanguages(); for (int i = 0; i < threads; i++) { var targets = LanguageManager.GetRandomTargets( random, languages, source.Language, layers ); var translations = new Translation[targets.Length]; translations[0] = await GetTranslation(text, source, targets[0]); if (translations[0].Text == null) { return(null); } for (int i2 = 1; i2 < translations.Length; i2++) { var translatedText = await GetTranslation( translations[i2 - 1].Text, translations[i2 - 1].ISO639, targets[i2] ); if (translatedText.Text == null) { return(null); } translations[i2] = new Translation( translatedText.Text, targets[i2] ); } translationThreads.Add(translations); } return(translationThreads); }
Task <Translation> ITranslationService.GetTranslation(string text, ISO639 source, ISO639[] targets) { throw new NotImplementedException(); }
async Task <Translation> ITranslationService.GetTranslation(string text, ISO639 source, ISO639[] targets) { return(new Translation(text, targets[targets.Length - 1])); }
async Task <Translation> ITranslationService.GetTranslation(string text, ISO639 source, ISO639 target) { return(new Translation(text, target)); }