/// <summary>
        /// Creates the text to translate from the segment according to the settings. Appends tags and formatting if needed.
        /// </summary>
        private string createTextFromSegment(Segment segment, FormattingAndTagsUsageOption formattingAndTagOption)
        {
            var text = WebUtility.HtmlDecode(SegmentXMLConverter.ConvertSegment2Xml(segment, true));

            text = Regex.Replace(text, "<spec_char val=\"<\"/>", "<spec_char val=\"&lt;\"/>");
            text = Regex.Replace(text, "<spec_char val=\">\"/>", "<spec_char val=\"&gt;\"/>");
            return(text);
        }
Exemple #2
0
        /// <summary>
        /// Creates the text to translate from the segment according to the settings. Appends tags and formatting if needed.
        /// </summary>
        private string createTextFromSegment(Segment segment, FormattingAndTagsUsageOption formattingAndTagOption)
        {
            switch (formattingAndTagOption)
            {
            case FormattingAndTagsUsageOption.OnlyFormatting:
                return(SegmentHtmlConverter.ConvertSegment2Html(segment, false));

            case FormattingAndTagsUsageOption.BothFormattingAndTags:
                return(SegmentHtmlConverter.ConvertSegment2Html(segment, true));

            default:
                return(segment.PlainText);
            }
        }
Exemple #3
0
        private static Segment createSegmentFromResult(Segment originalSegment, string translatedText, FormattingAndTagsUsageOption formattingAndTagUsage)
        {
            if (formattingAndTagUsage == FormattingAndTagsUsageOption.Plaintext)
            {
                return(SegmentBuilder.CreateFromTrimmedStringAndITags(translatedText, originalSegment.ITags));
            }
            else if (formattingAndTagUsage == FormattingAndTagsUsageOption.OnlyFormatting)
            {
                // Convert to segment (conversion is needed because the result can contain formatting information)
                var convertedSegment = SegmentHtmlConverter.ConvertHtml2Segment(translatedText, originalSegment.ITags);
                var sb = new SegmentBuilder();
                sb.AppendSegment(convertedSegment);

                // Insert the tags to the end of the segment
                foreach (InlineTag it in originalSegment.ITags)
                {
                    sb.AppendInlineTag(it);
                }

                return(sb.ToSegment());
            }
            else
            {
                return(SegmentHtmlConverter.ConvertHtml2Segment(translatedText, originalSegment.ITags));
            }
        }
 private static Segment createSegmentFromResult(Segment originalSegment, string translatedText, FormattingAndTagsUsageOption formattingAndTagUsage)
 {
     return(SegmentXMLConverter.ConvertXML2Segment(translatedText, originalSegment.ITags));
 }