public void TranslateWithUnsupportedCharactersTest() { TranslationInput translateInput = new TranslationInput("Chciałbym!", TranslatorType.L33tSp34k); ITranslator translator = TranslatorFactory.CreateTranslator(translateInput); TranslationResult result = translator.Translate(translateInput); Assert.IsTrue(string.Equals(@"[#[14Ł8j|v|!", result.Translated)); }
public void TranslateTest() { TranslationInput translateInput = new TranslationInput("Advanced Field Solutions", TranslatorType.L33tSp34k); ITranslator translator = TranslatorFactory.CreateTranslator(translateInput); TranslationResult result = translator.Translate(translateInput); Assert.IsTrue(string.Equals(@"4)\/4^/[3) |""131) 501(_)710^/5", result.Translated)); }
public ActionResult Translate(string textToTranslate) { TranslationInput translationInput = new TranslationInput(textToTranslate, TranslatorType.L33tSp34k); ITranslator translator = TranslatorFactory.CreateTranslator(translationInput); TranslationResult translationResult = translator.Translate(translationInput); return(Json(translationResult)); }
public ActionResult Edit(TranslationInput input) { if (!ModelState.IsValid) { return(PartialView("../User/EditTranslation", input)); } AdminController adminController = new AdminController(); return(adminController.Edit(input)); }
public async Task <IEnumerable <TranslationOutput> > Translate(TranslationInput input) { if (input == null || String.IsNullOrWhiteSpace(input.ContentToTranslate)) { throw new ArgumentNullException(nameof(input)); } var languageCultureCode = this.GetLanguageCode(); // Reaches out into the host to check the config for override var languageFromConfig = this.configuration["LanguageOverride"]; if (!String.IsNullOrEmpty(languageFromConfig)) { languageCultureCode = languageFromConfig; } // Uses a local third party service var dictionary = await dictionaryService.GetLanguageDictionary(languageCultureCode); if (dictionary == null) { return(Enumerable.Empty <TranslationOutput>()); } var wordToTranslate = input.ContentToTranslate.ToLower(); if (!dictionary.ContainsKey(wordToTranslate)) { return(Enumerable.Empty <TranslationOutput>()); } var results = new List <TranslationOutput>(); foreach (var key in dictionary.Keys.Where(k => k.ToLower().StartsWith(wordToTranslate))) { var translation = dictionary[key]; var accuracy = key.Length == wordToTranslate.Length ? 100 : 0; if (accuracy == 0) { accuracy = 100 / (wordToTranslate.Length - key.Length); } results.Add(new TranslationOutput { Accuracy = accuracy, ToLanguage = languageCultureCode, Translation = translation }); } return(results); }
TranslateText([FromBody] TranslationInput translationInput) { if (translationInput.Text == null || translationInput.To == null) { return(BadRequest()); } TranslationManager.OriginalText = translationInput.Text; var result = await TranslationManager.GetTranslation(translationInput.To); return(Ok(result)); }
public TranslationResult Translate(TranslationInput textToTranslate) { if (textToTranslate == null || string.IsNullOrEmpty(textToTranslate.Value)) { return(null); } string translatedText = TranslateText(textToTranslate.Value); TranslationResult result = new TranslationResult(textToTranslate.Value, translatedText); return(result); }
public ActionResult Edit(TranslationInput input) { //TODO: still need some improvements if (!ModelState.IsValid) { return(PartialView("EditTranslation", input)); } input.Votes = 1; var updateMode = ITranslationMode.GetTranslationModeByID(input.TextId, input.LanguageCode); if (updateMode == null)//This mean it is the first Translation of this string { TranslationMode mode = new TranslationMode(); mode.TextId = input.TextId; mode.LanguageCode = input.LanguageCode; mode.Mode = input.ModeOfTranslation; ITranslationMode.InsertTranslationMode(mode); updateMode = mode; if (input.ModeOfTranslation == 2) { var griddata = this.Gridformat(); var gridrowData = griddata.GridRows.Where(x => x.TextId == input.TextId).FirstOrDefault(); return(Json(MapToGridModel(gridrowData))); } } else { updateMode.Mode = input.ModeOfTranslation; ITranslationMode.UpdateTranslationMode(updateMode); if (updateMode.Mode == 2) { var updateGriddata = this.Gridformat(); var updateGridrowData = updateGriddata.GridRows.Where(x => x.TextId == input.TextId).FirstOrDefault(); return(Json(MapToGridModel(updateGridrowData))); } } var newtranslation = new Translation(); if (updateMode.Mode == 0 || updateMode.Mode == 1) { var repetTranslated = ITranslation.GetAll().Where(x => x.TextId == input.TextId && x.LanguageCode == input.LanguageCode && x.Translated_Text == input.TranslationText).FirstOrDefault(); if (repetTranslated != null) { if (updateMode.Mode == 0) { var items = ITranslation.GetTranslationLogByCode(repetTranslated.TextId, repetTranslated.LanguageCode).ToList(); foreach (var item in items) { item.OfficialBoolean = false; } var maxVote = items.Max(s => s.Votes); var setdata = items.Where(x => x.Votes == maxVote).FirstOrDefault(); setdata.OfficialBoolean = true; setdata.Votes = maxVote; ITranslation.Update(setdata); } return(Json(repetTranslated)); } //Find the las translation that has officialBoolean in true var translatedData = ITranslation.GetAll() .Where(x => x.TextId == input.TextId && x.LanguageCode == input.LanguageCode && x.OfficialBoolean == true) .FirstOrDefault(); if (translatedData != null) { translatedData.OfficialBoolean = false; translatedData.Votes = translatedData.Votes > 0 ? 0 : translatedData.Votes; //Update the last saved translation with the new values in order to put the new translation as the one to be shown in the grid. // translateData is NOT the new input to be saved, is the last saved in a previous instance ITranslation.Update(translatedData); } // the new translation to be saved in db var translatedText = new Translation(); translatedText.Translated_Text = input.TranslationText; translatedText.LanguageCode = input.LanguageCode; translatedText.TextId = input.TextId; translatedText.Votes = 0; translatedText.OfficialBoolean = true; ITranslation.Save(translatedText); newtranslation = ITranslation.GetAll().Where(x => x.Id == translatedText.Id).FirstOrDefault(); this.VoteCount("Like", newtranslation.TextId, newtranslation.Id, newtranslation.LanguageCode); TranslationLog translation_log = new TranslationLog(); translation_log.TextId = translatedText.TextId; translation_log.System_Date = DateTime.Now; translation_log.LanguageCode = translatedText.LanguageCode; translation_log.Translated_Text = translatedText.Translated_Text; ITranslation_Log.Save(translation_log); } var data = this.Gridformat(); var rowData = data.GridRows.Where(x => x.TextId == input.TextId).FirstOrDefault(); if (System.Web.HttpContext.Current.Request.Cookies["MissingTrans"] != null) { if (System.Web.HttpContext.Current.Request.Cookies["MissingTrans"].Value != "true") { return(Json(MapToGridModel(rowData))); } else { return(Json(data)); } } else { return(Json(data)); } }
public HttpResponseMessage Post([FromBodyAttribute] TranslationInput input) // id refers to Application Key { LanguageTextTranslation translatedText = null; HttpResponseMessage response = new HttpResponseMessage(); Response res = new Response(); try { if (input != null) { MongodbConnect mongo = new MongodbConnect(ConfigurationManager.AppSettings["MongoDBName"].ToString()); // Validate Application key var validApplication = mongo.GetRecordByApplicationKey(input.id); if (validApplication != null) { // Validate Application has language or not if (input.languagecode != null && input.languagecode.Length > 0) { if (mongo.ValidateApplicationLanguage(input.id, input.languagecode) != null) { translatedText = mongo.GetTranslatedText(validApplication.ApplicationID, input.languagecode); } else { response = Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Translation Language is not supported"); res.Status = "Failed"; res.Message = "Translation Language is not supported"; res.Result = null; } } else { translatedText = mongo.GetTranslatedText(validApplication.ApplicationID, string.Empty); } if (translatedText != null) { response = Request.CreateResponse(HttpStatusCode.OK); if (translatedText.Translation != null) { res.Status = "Success"; res.Message = "Translation Found"; } else { res.Status = "Success"; res.Message = "Translation Not Found"; } res.Result = translatedText; } } else { response = Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Application Key is unauthorized"); res.Status = "Failed"; res.Message = "Application Key is unauthorized"; res.Result = null; } } else { response = Request.CreateErrorResponse(HttpStatusCode.BadRequest, "HTTP BedRequest. Check your request body and header."); res.Status = "Failed"; res.Message = "HTTP BedRequest. Check your request body and header."; res.Result = null; } } catch (Exception ex) { Console.Error.Write(ex.Message); response = Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Unexpected Error"); res.Status = "Failed"; res.Message = "Unexpected Error"; res.Result = null; } response.Content = new StringContent(JsonConvert.SerializeObject(res, Formatting.Indented), Encoding.UTF8, "application/json"); return(response); }
public Task <IEnumerable <TranslationOutput> > TranslateV2(TranslationInput input) => Translate(input);
void FocusInput(object sender, EventArgs e) { TranslationInput.Focus(); }