private static TranslationResult CreateModel(TranslationResultDto dto, IReadOnlyList <string> sourceSegment) { if (dto == null) { return(null); } return(new TranslationResult(sourceSegment, dto.Target, dto.Confidences.Cast <double>(), dto.Sources, CreateModel(dto.Alignment, sourceSegment.Count, dto.Target.Length), dto.Phrases.Select(CreateModel))); }
public async Task <ActionResult <TranslationResultDto> > Translate([FromQuery][Required] string translationQuery) { try { var result = await _mediator.Send(new TranslateQuery(translationQuery, null, null)); var dto = new TranslationResultDto(result.TranslatedText); return(Ok(dto)); } catch (Exception exc) { return(BadRequest(new TranslationResultDto { ErrorMessage = exc.Message })); } }
public TranslationResult Adapt(TranslationRequest request, TranslationResultDto resultDto) { var translations = new List <TextTranslation>(); for (var i = 0; i < resultDto.Translations.Count; i++) { var translationDto = resultDto.Translations.ElementAt(i); var detectedSourceLanguage = TranslationLanguage.CreateByCode(translationDto.Detected_source_language); var textKey = request.TextParts.ElementAt(i).Key; var text = translationDto.Text; request.IgnoreMarkup.Evaluate( markup => { text = text.Replace(IgnoreForTranslationMarkup.DeeplIgnoreBeginTag, markup.BeginTag); text = text.Replace(IgnoreForTranslationMarkup.DeeplIgnoreEndTag, markup.EndTag); }); var identifiableText = new TextPart(textKey, text); translations.Add(new TextTranslation(detectedSourceLanguage, identifiableText)); } return(new TranslationResult(translations)); }
private static IReadOnlyCollection <Translation> AdaptTranslations(TranslationResultDto resultDto) { return(resultDto.Translations.Select(f => new Translation(f.To, f.Text)).ToList()); }