private static void SetCountMethod(IWordCountBatchTaskSettings settings, ISegmentWordCounter counter, CountTotal info) { Language language; language = settings.UseSource ? counter.FileCountInfo.SourceInfo : counter.FileCountInfo.TargetInfo; info.CountMethod = language.UsesCharacterCounts ? CountUnit.Character : CountUnit.Word; }
private static void SetCountMethod(IWordCountBatchTaskSettings settings, ISegmentWordCounter counter, CountTotal info) { Language language = null; if (settings.UseSource) { language = counter.FileCountInfo.SourceInfo; } else { language = counter.FileCountInfo.TargetInfo; } if (language.UsesCharacterCounts) { info.CountMethod = CountUnit.Character; } else { info.CountMethod = CountUnit.Word; } }
private static void AccumulateCountData(IWordCountBatchTaskSettings settings, ISegmentWordCounter counter, CountTotal info) { info.FileName = counter.FileName; SetCountMethod(settings, counter, info); foreach (var segInfo in counter.FileCountInfo.SegmentCounts) { var origin = segInfo.TranslationOrigin; if (origin == null) { info.Increment(CountTotal.New, segInfo.CountData); } else { if (settings.ReportLockedSeperately && segInfo.IsLocked) { info.Increment(CountTotal.Locked, segInfo.CountData); } else if (origin.OriginType == "document-match") { info.Increment(CountTotal.PerfectMatch, segInfo.CountData); } else if (origin.IsRepeated) { info.Increment(CountTotal.Repetitions, segInfo.CountData); } else if (origin.MatchPercent == 100) { if (origin.TextContextMatchLevel == Sdl.FileTypeSupport.Framework.NativeApi.TextContextMatchLevel.SourceAndTarget) { info.Increment(CountTotal.ContextMatch, segInfo.CountData); } else { info.Increment(CountTotal.OneHundredPercent, segInfo.CountData); } } else if (origin.MatchPercent >= 95) { info.Increment(CountTotal.NinetyFivePercent, segInfo.CountData); } else if (origin.MatchPercent >= 85) { info.Increment(CountTotal.EightyFivePercent, segInfo.CountData); } else if (origin.MatchPercent >= 75) { info.Increment(CountTotal.SeventyFivePercent, segInfo.CountData); } else if (origin.MatchPercent >= 50) { info.Increment(CountTotal.FiftyPercent, segInfo.CountData); } else { info.Increment(CountTotal.New, segInfo.CountData); } } if (!(settings.ReportLockedSeperately && segInfo.IsLocked)) { info.Increment(CountTotal.Total, segInfo.CountData); } if (segInfo.IsLocked) { info.LockedSpaceCountTotal += segInfo.SpaceCount; } else { info.UnlockedSpaceCountTotal += segInfo.SpaceCount; } } }