Example #1
0
        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;
        }
Example #2
0
        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;
            }
        }
Example #3
0
        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;
                }
            }
        }