public async Task AddRecord(string textInit, string textResult, string from, string to, Guid createdById) { textInit = textInit.ToLower(); var old = await _readOnlyRepository.GetById <TranslateItem>(textInit); var item = new TranslateItem() { Id = textInit, TextRu = textResult, Translated = textInit.ToLower() != textResult.ToLower() }; if (old == null) { _writeOnlyRepository.Add(item, createdById); _writeOnlyRepository.Commit(); } else { if (textInit.ToLower() == textResult.ToLower() || old.TextRu.ToLower() == textResult.ToLower()) { return; } _writeOnlyRepository.Update <TranslateItem>(item, createdById); await _writeOnlyRepository.Save(); } }
private void LoadTranslation() { translate = new List <TranslateItem>(); foreach (TranslationCategory translationCategory in neutralTranslation.GetTranslationCategories()) { foreach (TranslationItem translationItem in translationCategory.GetTranslationItems()) { var translateItem = new TranslateItem { Category = translationCategory.Name, Name = translationItem.Name, Property = translationItem.Property, NeutralValue = translationItem.Value }; if (translator != null) { translateItem.TranslatedValue = translator.GetString(translationCategory.Name, translateItem.Name, translateItem.Property); } translate.Add(translateItem); } } UpdateProgress(); }
public string Translate(string source, string lang) { if (source.Length > 0) { WebRequest request = WebRequest.Create("https://translate.yandex.net/api/v1.5/tr.json/translate?" + "key=" + key + "&text=" + source + "&lang=" + lang); WebResponse response = request.GetResponse(); using (StreamReader sr = new StreamReader(response.GetResponseStream())) { string feedback; if ((feedback = sr.ReadLine()) != null) { TranslateItem item = JsonConvert.DeserializeObject <TranslateItem>(feedback); string result = ""; foreach (string line in item.text) { result += line; } return(result); } } return(source); } return(""); }
public static string GetTranslateItem(RestCommand command, int phraseID) { TranslateItem translateItem = Translate.GetTranslateItem(command.LoginUser, phraseID); if (translateItem.OrganizationID != command.Organization.OrganizationID) { throw new RestException(HttpStatusCode.Unauthorized); } return(translateItem.GetXml("TranslateItem", true)); }
private void translatedText_Leave(object sender, System.EventArgs e) { //Debug.Assert(translateItemInEditing != null); if (translateItemInEditing != null) { translateItemInEditing.TranslatedValue = translatedText.Text; translateItemInEditing = null; } }
private void translatedText_Enter(object sender, System.EventArgs e) { if (translateItemInEditing != null) { translateItemInEditing.TranslatedValue = translatedText.Text; } translateItemInEditing = (TranslateItem)translateItemBindingSource.Current; if (translateItemInEditing != null) { translateItemInEditing.TranslatedValue = editingCellPrefixText.Text + " " + translateItemInEditing.TranslatedValue; } }
public async Task AddRecords(IDictionary <string, string> texts, string fromCode, string toCode, Guid createdById) { foreach (var textInit in texts) { var text = textInit.Key.ToLower(); var old = await _readOnlyRepository.GetById <TranslateItem>(textInit.Key); var item = new TranslateItem() { Id = text, TextRu = textInit.Value, Translated = text != textInit.Value.ToLower() }; if (old == null) { _writeOnlyRepository.Add(item, createdById); } } _writeOnlyRepository.Commit(); }
public async Task AddRecords(IDictionary <string, string> texts, string fromCode, string toCode, Guid createdById) { var keys = texts.Select(x => x.Key.ToLower()).ToList(); var records = await _readOnlyRepository.Get <TranslateItem>(filter : x => keys.Contains(x.Id)); foreach (var textInit in texts) { var text = textInit.Key.ToLower(); var old = records.FirstOrDefault(x => x.Id == text); var item = new TranslateItem() { Id = text, TextRu = textInit.Value, Translated = text != textInit.Value.ToLower() }; if (old == null) { _writeOnlyRepository.Add(item, createdById); } } _writeOnlyRepository.Commit(); }
private void LoadTranslation() { translate = new List<TranslateItem>(); foreach (TranslationCategory translationCategory in neutralTranslation.GetTranslationCategories()) { foreach (TranslationItem translationItem in translationCategory.GetTranslationItems()) { var translateItem = new TranslateItem { Category = translationCategory.Name, Name = translationItem.Name, Property = translationItem.Property, NeutralValue = translationItem.Value }; if (translator != null) translateItem.TranslatedValue = translator.GetString(translationCategory.Name, translateItem.Name, translateItem.Property); translate.Add(translateItem); } } UpdateProgress(); }
private void LoadTranslation() { translate = new List <TranslateItem>(); var neutralItems = from translationCategory in neutralTranslation.GetTranslationCategories() from translationItem in translationCategory.GetTranslationItems() select new { Category = translationCategory.Name, Name = translationItem.Name, Property = translationItem.Property, Source = translationItem.Source, Value = translationItem.Value }; var translationItems = translation != null ? (from translationCategory in translation.GetTranslationCategories() from translationItem in translationCategory.GetTranslationItems() select new { Category = translationCategory.Name, Name = translationItem.Name, Property = translationItem.Property, Source = translationItem.Source, Value = translationItem.Value }).ToList() : null; Dictionary <string, string> dict = new Dictionary <string, string>(); foreach (var item in neutralItems) { var translateItem = new TranslateItem { Category = item.Category, Name = item.Name, Property = item.Property, NeutralValue = item.Value, Status = TranslationType.New }; if (translation != null) { var curItem = (from trItem in translationItems where trItem.Category.TrimStart('_') == item.Category.TrimStart('_') && trItem.Name.TrimStart('_') == item.Name.TrimStart('_') && trItem.Property == item.Property select trItem).FirstOrDefault(); if (curItem != null) { translateItem.TranslatedValue = curItem.Value; if (curItem.Source == null || CompareSourceString(item.Value, curItem.Source)) { if (!String.IsNullOrEmpty(curItem.Value)) { translateItem.Status = TranslationType.Translated; } else { translateItem.Status = TranslationType.Unfinished; } } else { translateItem.Status = TranslationType.Obsolete; } translationItems.Remove(curItem); string source = curItem.Source ?? item.Value; if (!String.IsNullOrEmpty(curItem.Value) && !dict.ContainsKey(source)) { dict.Add(source, curItem.Value); } } } translate.Add(translateItem); } if (translationItems != null) { foreach (var item in translationItems) { if (!String.IsNullOrEmpty(item.Value)) { var translateItem = new TranslateItem { Category = item.Category, Name = item.Name, Property = item.Property, NeutralValue = item.Source, TranslatedValue = item.Value, Status = TranslationType.Obsolete }; translate.Add(translateItem); if (item.Source != null && !dict.ContainsKey(item.Source)) { dict.Add(item.Source, item.Value); } } } } var untranlatedItems = from trItem in translate where trItem.Status == TranslationType.New && dict.ContainsKey(trItem.NeutralValue) select trItem; foreach (var untranlatedItem in untranlatedItems) { untranlatedItem.Status = TranslationType.Unfinished; untranlatedItem.TranslatedValue = dict[untranlatedItem.NeutralValue]; } UpdateProgress(); }
private void LoadTranslation() { translate = new List<TranslateItem>(); var neutralItems = from translationCategory in neutralTranslation.GetTranslationCategories() from translationItem in translationCategory.GetTranslationItems() select new { Category = translationCategory.Name, Name = translationItem.Name, Property = translationItem.Property, Source = translationItem.Source, Value = translationItem.Value }; var translationItems = translation != null ? (from translationCategory in translation.GetTranslationCategories() from translationItem in translationCategory.GetTranslationItems() select new { Category = translationCategory.Name, Name = translationItem.Name, Property = translationItem.Property, Source = translationItem.Source, Value = translationItem.Value }).ToList() : null; Dictionary<string, string> dict = new Dictionary<string, string>(); foreach (var item in neutralItems) { var translateItem = new TranslateItem { Category = item.Category, Name = item.Name, Property = item.Property, NeutralValue = item.Value, Status = TranslationType.New }; if (translation != null) { var curItem = (from trItem in translationItems where trItem.Category.TrimStart('_') == item.Category.TrimStart('_') && trItem.Name.TrimStart('_') == item.Name.TrimStart('_') && trItem.Property == item.Property select trItem).FirstOrDefault(); if (curItem != null) { translateItem.TranslatedValue = curItem.Value; if (curItem.Source == null || CompareSourceString(item.Value, curItem.Source)) { if (!String.IsNullOrEmpty(curItem.Value)) translateItem.Status = TranslationType.Translated; else translateItem.Status = TranslationType.Unfinished; } else translateItem.Status = TranslationType.Obsolete; translationItems.Remove(curItem); string source = curItem.Source ?? item.Value; if (!String.IsNullOrEmpty(curItem.Value) && !dict.ContainsKey(source)) dict.Add(source, curItem.Value); } } translate.Add(translateItem); } if (translationItems != null) { foreach (var item in translationItems) { if (!String.IsNullOrEmpty(item.Value)) { var translateItem = new TranslateItem { Category = item.Category, Name = item.Name, Property = item.Property, NeutralValue = item.Source, TranslatedValue = item.Value, Status = TranslationType.Obsolete }; translate.Add(translateItem); if (item.Source != null && !dict.ContainsKey(item.Source)) dict.Add(item.Source, item.Value); } } } var untranlatedItems = from trItem in translate where trItem.Status == TranslationType.New && dict.ContainsKey(trItem.NeutralValue) select trItem; foreach (var untranlatedItem in untranlatedItems) { untranlatedItem.Status = TranslationType.Unfinished; untranlatedItem.TranslatedValue = dict[untranlatedItem.NeutralValue]; } UpdateProgress(); }