コード例 #1
0
        public FrenchCommonDateTimeParserConfiguration()
        {
            UtilityConfiguration = new FrenchDatetimeUtilityConfiguration();

            UnitMap       = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap  = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap     = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            CardinalMap   = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek     = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear   = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers       = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();

            CardinalExtractor = new CardinalExtractor();
            IntegerExtractor  = new IntegerExtractor();
            OrdinalExtractor  = new OrdinalExtractor();

            NumberParser            = new BaseNumberParser(new FrenchNumberParserConfiguration());
            DateExtractor           = new BaseDateExtractor(new FrenchDateExtractorConfiguration());
            TimeExtractor           = new BaseTimeExtractor(new FrenchTimeExtractorConfiguration());
            DateTimeExtractor       = new BaseDateTimeExtractor(new FrenchDateTimeExtractorConfiguration());
            DurationExtractor       = new BaseDurationExtractor(new FrenchDurationExtractorConfiguration());
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new FrenchDatePeriodExtractorConfiguration());
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new FrenchTimePeriodExtractorConfiguration());
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new FrenchDateTimePeriodExtractorConfiguration());
            DateParser           = new BaseDateParser(new FrenchDateParserConfiguration(this));
            TimeParser           = new BaseTimeParser(new FrenchTimeParserConfiguration(this));
            DateTimeParser       = new BaseDateTimeParser(new FrenchDateTimeParserConfiguration(this));
            DurationParser       = new BaseDurationParser(new FrenchDurationParserConfiguration(this));
            DatePeriodParser     = new BaseDatePeriodParser(new FrenchDatePeriodParserConfiguration(this));
            TimePeriodParser     = new BaseTimePeriodParser(new FrenchTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new FrenchDateTimePeriodParserConfiguration(this));
        }
コード例 #2
0
        public GermanCommonDateTimeParserConfiguration(DateTimeOptions options) : base(options)
        {
            UtilityConfiguration = new GermanDatetimeUtilityConfiguration();

            UnitMap            = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap       = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap          = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            CardinalMap        = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek          = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear        = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers            = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers      = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();
            WrittenDecades     = DateTimeDefinitions.WrittenDecades.ToImmutableDictionary();
            SpecialDecadeCases = DateTimeDefinitions.SpecialDecadeCases.ToImmutableDictionary();

            CardinalExtractor = Number.German.CardinalExtractor.GetInstance();
            IntegerExtractor  = Number.German.IntegerExtractor.GetInstance();
            OrdinalExtractor  = Number.German.OrdinalExtractor.GetInstance();

            NumberParser            = new BaseNumberParser(new GermanNumberParserConfiguration());
            DateExtractor           = new BaseDateExtractor(new GermanDateExtractorConfiguration());
            TimeExtractor           = new BaseTimeExtractor(new GermanTimeExtractorConfiguration());
            DateTimeExtractor       = new BaseDateTimeExtractor(new GermanDateTimeExtractorConfiguration());
            DurationExtractor       = new BaseDurationExtractor(new GermanDurationExtractorConfiguration());
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new GermanDatePeriodExtractorConfiguration());
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new GermanTimePeriodExtractorConfiguration());
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new GermanDateTimePeriodExtractorConfiguration());
            DurationParser          = new BaseDurationParser(new GermanDurationParserConfiguration(this));
            DateParser           = new BaseDateParser(new GermanDateParserConfiguration(this));
            TimeParser           = new TimeParser(new GermanTimeParserConfiguration(this));
            DateTimeParser       = new BaseDateTimeParser(new GermanDateTimeParserConfiguration(this));
            DatePeriodParser     = new BaseDatePeriodParser(new GermanDatePeriodParserConfiguration(this));
            TimePeriodParser     = new BaseTimePeriodParser(new GermanTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new GermanDateTimePeriodParserConfiguration(this));
        }
        public EnglishCommonDateTimeParserConfiguration()
        {
            UtilityConfiguration = new EnlighDatetimeUtilityConfiguration();

            UnitMap       = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap  = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap     = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            CardinalMap   = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek     = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear   = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers       = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();

            CardinalExtractor = Number.English.CardinalExtractor.GetInstance();
            IntegerExtractor  = Number.English.IntegerExtractor.GetInstance();
            OrdinalExtractor  = Number.English.OrdinalExtractor.GetInstance();

            NumberParser            = new BaseNumberParser(new EnglishNumberParserConfiguration());
            DateExtractor           = new BaseDateExtractor(new EnglishDateExtractorConfiguration());
            TimeExtractor           = new BaseTimeExtractor(new EnglishTimeExtractorConfiguration());
            DateTimeExtractor       = new BaseDateTimeExtractor(new EnglishDateTimeExtractorConfiguration());
            DurationExtractor       = new BaseDurationExtractor(new EnglishDurationExtractorConfiguration());
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new EnglishDatePeriodExtractorConfiguration());
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new EnglishTimePeriodExtractorConfiguration());
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new EnglishDateTimePeriodExtractorConfiguration());
            DurationParser          = new BaseDurationParser(new EnglishDurationParserConfiguration(this));
            DateParser           = new BaseDateParser(new EnglishDateParserConfiguration(this));
            TimeParser           = new TimeParser(new EnglishTimeParserConfiguration(this));
            DateTimeParser       = new BaseDateTimeParser(new EnglishDateTimeParserConfiguration(this));
            DatePeriodParser     = new BaseDatePeriodParser(new EnglishDatePeriodParserConfiguration(this));
            TimePeriodParser     = new BaseTimePeriodParser(new EnglishTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new EnglishDateTimePeriodParserConfiguration(this));
        }
コード例 #4
0
 public GermanDatePeriodExtractorConfiguration() : base(DateTimeOptions.None)
 {
     DatePointExtractor = new BaseDateExtractor(new GermanDateExtractorConfiguration());
     CardinalExtractor  = Number.German.CardinalExtractor.GetInstance();
     DurationExtractor  = new BaseDurationExtractor(new GermanDurationExtractorConfiguration());
     NumberParser       = new BaseNumberParser(new GermanNumberParserConfiguration());
 }
コード例 #5
0
        public FrenchDateExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            IntegerExtractor = Number.French.IntegerExtractor.GetInstance();
            OrdinalExtractor = Number.French.OrdinalExtractor.GetInstance();
            NumberParser     = new BaseNumberParser(new FrenchNumberParserConfiguration(numConfig));

            DurationExtractor    = new BaseDurationExtractor(new FrenchDurationExtractorConfiguration(this));
            HolidayExtractor     = new BaseHolidayExtractor(new FrenchHolidayExtractorConfiguration(this));
            UtilityConfiguration = new FrenchDatetimeUtilityConfiguration();

            // 3-23-2017
            var dateRegex4 = new Regex(DateTimeDefinitions.DateExtractor4, RegexFlags);

            // 23-3-2015
            var dateRegex5 = new Regex(DateTimeDefinitions.DateExtractor5, RegexFlags);

            // on 1.3
            var dateRegex6 = new Regex(DateTimeDefinitions.DateExtractor6, RegexFlags);

            // on 24-12
            var dateRegex8 = new Regex(DateTimeDefinitions.DateExtractor8, RegexFlags);

            // 7/23
            var dateRegex7 = new Regex(DateTimeDefinitions.DateExtractor7, RegexFlags);

            // 23/7
            var dateRegex9 = new Regex(DateTimeDefinitions.DateExtractor9, RegexFlags);

            // 2015-12-23
            var dateRegexA = new Regex(DateTimeDefinitions.DateExtractorA, RegexFlags);

            DateRegexList = new List <Regex>
            {
                // (Sunday,)? April 5
                new Regex(DateTimeDefinitions.DateExtractor1, RegexFlags),

                // (Sunday,)? April 5, 2016
                new Regex(DateTimeDefinitions.DateExtractor2, RegexFlags),

                // (Sunday,)? 6th of April
                new Regex(DateTimeDefinitions.DateExtractor3, RegexFlags),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy ?
                                                 new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegexA } :
                                                 new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegexA });
        }
 public ItalianDatePeriodExtractorConfiguration(IOptionsConfiguration config) : base(config)
 {
     DatePointExtractor = new BaseDateExtractor(new ItalianDateExtractorConfiguration(this));
     CardinalExtractor  = Number.Italian.CardinalExtractor.GetInstance();
     DurationExtractor  = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration(this));
     NumberParser       = new BaseNumberParser(new ItalianNumberParserConfiguration());
 }
        public SpanishDateExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            IntegerExtractor = Number.Spanish.IntegerExtractor.GetInstance(numConfig);
            OrdinalExtractor = Number.Spanish.OrdinalExtractor.GetInstance(numConfig);
            NumberParser     = new BaseNumberParser(new SpanishNumberParserConfiguration(numConfig));

            DurationExtractor    = new BaseDurationExtractor(new SpanishDurationExtractorConfiguration(this));
            HolidayExtractor     = new BaseHolidayExtractor(new SpanishHolidayExtractorConfiguration(this));
            UtilityConfiguration = new SpanishDatetimeUtilityConfiguration();

            // 3-23-2017
            var dateRegex4 = RegexCache.Get(DateTimeDefinitions.DateExtractor4, RegexFlags);

            // 23-3-2015
            var dateRegex5 = RegexCache.Get(DateTimeDefinitions.DateExtractor5, RegexFlags);

            // el 1.3
            var dateRegex6 = RegexCache.Get(DateTimeDefinitions.DateExtractor6, RegexFlags);

            // el 24-12
            var dateRegex8 = RegexCache.Get(DateTimeDefinitions.DateExtractor8, RegexFlags);

            // 7/23
            var dateRegex7 = RegexCache.Get(DateTimeDefinitions.DateExtractor7, RegexFlags);

            // 23/7
            var dateRegex9 = RegexCache.Get(DateTimeDefinitions.DateExtractor9, RegexFlags);

            // 2015-12-23
            var dateRegex10 = RegexCache.Get(DateTimeDefinitions.DateExtractor10, RegexFlags);

            DateRegexList = new List <Regex>
            {
                // (domingo,)? 5 de Abril
                RegexCache.Get(DateTimeDefinitions.DateExtractor1, RegexFlags),

                // (domingo,)? 5 de Abril 5, 2016
                RegexCache.Get(DateTimeDefinitions.DateExtractor2, RegexFlags),

                // (domingo,)? 6 de Abril
                RegexCache.Get(DateTimeDefinitions.DateExtractor3, RegexFlags),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy
                ? new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegex10 }
                : new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegex10 });
        }
コード例 #8
0
 public SpanishCommonDateTimeParserConfiguration()
 {
     UnitMap                 = InitUnitMap();
     UnitValueMap            = InitUnitValueMap();
     SeasonMap               = InitSeasonMap();
     CardinalMap             = InitCardinalMap();
     DayOfWeek               = InitDayOfWeek();
     MonthOfYear             = InitMonthOfYear();
     Numbers                 = InitNumbers();
     DoubleNumbers           = InitDoubleNumbers();
     CardinalExtractor       = new CardinalExtractor();
     IntegerExtractor        = new IntegerExtractor();
     OrdinalExtractor        = new OrdinalExtractor();
     NumberParser            = new BaseNumberParser(new SpanishNumberParserConfiguration());
     DateExtractor           = new BaseDateExtractor(new SpanishDateExtractorConfiguration());
     TimeExtractor           = new BaseTimeExtractor(new SpanishTimeExtractorConfiguration());
     DateTimeExtractor       = new BaseDateTimeExtractor(new SpanishDateTimeExtractorConfiguration());
     DurationExtractor       = new BaseDurationExtractor(new SpanishDurationExtractorConfiguration());
     DatePeriodExtractor     = new BaseDatePeriodExtractor(new SpanishDatePeriodExtractorConfiguration());
     TimePeriodExtractor     = new BaseTimePeriodExtractor(new SpanishTimePeriodExtractorConfiguration());
     DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new SpanishDateTimePeriodExtractorConfiguration());
     DateParser              = new BaseDateParser(new SpanishDateParserConfiguration(this));
     TimeParser              = new BaseTimeParser(new SpanishTimeParserConfiguration(this));
     DateTimeParser          = new BaseDateTimeParser(new SpanishDateTimeParserConfiguration(this));
     DurationParser          = new BaseDurationParser(new SpanishDurationParserConfiguration(this));
     UtilityConfiguration    = new SpanishDatetimeUtilityConfiguration();
     DatePeriodParser        = new BaseDatePeriodParser(new SpanishDatePeriodParserConfiguration(this));
     TimePeriodParser        = new BaseTimePeriodParser(new SpanishTimePeriodParserConfiguration(this));
     DateTimePeriodParser    = new BaseDateTimePeriodParser(new SpanishDateTimePeriodParserConfiguration(this));
 }
コード例 #9
0
        public EnglishDateExtractorConfiguration(DateTimeOptions options = DateTimeOptions.None)
        {
            Options              = options;
            IntegerExtractor     = Number.English.IntegerExtractor.GetInstance();
            OrdinalExtractor     = Number.English.OrdinalExtractor.GetInstance();
            NumberParser         = new BaseNumberParser(new EnglishNumberParserConfiguration());
            DurationExtractor    = new BaseDurationExtractor(new EnglishDurationExtractorConfiguration());
            UtilityConfiguration = new EnglishDatetimeUtilityConfiguration();
            var implicitDateList = new List <Regex>
            {
                OnRegex,
                RelaxedOnRegex,
                SpecialDayRegex,
                ThisRegex,
                LastDateRegex,
                NextDateRegex,
                SingleWeekDayRegex,
                WeekDayOfMonthRegex,
                SpecialDate,
                SpecialDayWithNumRegex,
                RelativeWeekDayRegex
            };

            if ((Options & DateTimeOptions.CalendarMode) != 0)
            {
                implicitDateList.Add(DayRegex);
            }

            ImplicitDateList = implicitDateList;
        }
コード例 #10
0
 public FrenchDateExtractorConfiguration()
 {
     IntegerExtractor     = new IntegerExtractor();
     OrdinalExtractor     = new OrdinalExtractor();
     NumberParser         = new BaseNumberParser(new FrenchNumberParserConfiguration());
     DurationExtractor    = new BaseDurationExtractor(new FrenchDurationExtractorConfiguration());
     UtilityConfiguration = new FrenchDatetimeUtilityConfiguration();
 }
コード例 #11
0
 public FrenchDatePeriodExtractorConfiguration() : base(DateTimeOptions.None)
 {
     DatePointExtractor = new BaseDateExtractor(new FrenchDateExtractorConfiguration());
     CardinalExtractor  = Number.French.CardinalExtractor.GetInstance();
     OrdinalExtractor   = new Number.French.OrdinalExtractor();
     DurationExtractor  = new BaseDurationExtractor(new FrenchDurationExtractorConfiguration());
     NumberParser       = new BaseNumberParser(new FrenchNumberParserConfiguration());
 }
コード例 #12
0
 public PortugueseDatePeriodExtractorConfiguration(IOptionsConfiguration config) : base(config)
 {
     DatePointExtractor = new BaseDateExtractor(new PortugueseDateExtractorConfiguration(this));
     CardinalExtractor  = Number.Portuguese.CardinalExtractor.GetInstance();
     OrdinalExtractor   = new Number.Portuguese.OrdinalExtractor();
     DurationExtractor  = new BaseDurationExtractor(new PortugueseDurationExtractorConfiguration(this));
     NumberParser       = new BaseNumberParser(new PortugueseNumberParserConfiguration());
 }
コード例 #13
0
 public SpanishDateExtractorConfiguration() : base(DateTimeOptions.None)
 {
     IntegerExtractor     = new IntegerExtractor();
     OrdinalExtractor     = new OrdinalExtractor();
     NumberParser         = new BaseNumberParser(new SpanishNumberParserConfiguration());
     DurationExtractor    = new BaseDurationExtractor(new SpanishDurationExtractorConfiguration());
     UtilityConfiguration = new SpanishDatetimeUtilityConfiguration();
 }
コード例 #14
0
 public GermanDateExtractorConfiguration() : base(DateTimeOptions.None)
 {
     IntegerExtractor     = Number.German.IntegerExtractor.GetInstance();
     OrdinalExtractor     = Number.German.OrdinalExtractor.GetInstance();
     NumberParser         = new BaseNumberParser(new GermanNumberParserConfiguration());
     DurationExtractor    = new BaseDurationExtractor(new GermanDurationExtractorConfiguration());
     UtilityConfiguration = new GermanDatetimeUtilityConfiguration();
 }
コード例 #15
0
 public FrenchDatePeriodExtractorConfiguration(IOptionsConfiguration config) : base(config)
 {
     DatePointExtractor = new BaseDateExtractor(new FrenchDateExtractorConfiguration(this));
     CardinalExtractor  = Number.French.CardinalExtractor.GetInstance();
     OrdinalExtractor   = Number.French.OrdinalExtractor.GetInstance();
     DurationExtractor  = new BaseDurationExtractor(new FrenchDurationExtractorConfiguration(this));
     NumberParser       = new BaseNumberParser(new FrenchNumberParserConfiguration());
 }
 public EnglishDatePeriodExtractorConfiguration()
 {
     Options            = DateTimeOptions.None;
     DatePointExtractor = new BaseDateExtractor(new EnglishDateExtractorConfiguration());
     CardinalExtractor  = Number.English.CardinalExtractor.GetInstance();
     DurationExtractor  = new BaseDurationExtractor(new EnglishDurationExtractorConfiguration());
     NumberParser       = new BaseNumberParser(new EnglishNumberParserConfiguration());
 }
コード例 #17
0
 public EnglishDateExtractorConfiguration()
 {
     IntegerExtractor     = Number.English.IntegerExtractor.GetInstance();
     OrdinalExtractor     = Number.English.OrdinalExtractor.GetInstance();
     NumberParser         = new BaseNumberParser(new EnglishNumberParserConfiguration());
     DurationExtractor    = new BaseDurationExtractor(new EnglishDurationExtractorConfiguration());
     UtilityConfiguration = new EnlighDatetimeUtilityConfiguration();
 }
 public ThaiDatePeriodExtractorConfiguration()
 {
     Options            = DateTimeOptions.None;
     DatePointExtractor = new BaseDateExtractor(new ThaiDateExtractorConfiguration());
     CardinalExtractor  = Number.Thai.CardinalExtractor.GetInstance();
     OrdinalExtractor   = Number.Thai.OrdinalExtractor.GetInstance();
     DurationExtractor  = new BaseDurationExtractor(new ThaiDurationExtractorConfiguration());
     NumberParser       = new BaseNumberParser(new ThaiNumberParserConfiguration());
 }
 public GermanDatePeriodExtractorConfiguration(IDateTimeOptionsConfiguration config)
     : base(config)
 {
     DatePointExtractor = new BaseDateExtractor(new GermanDateExtractorConfiguration(this));
     CardinalExtractor  = Number.German.CardinalExtractor.GetInstance();
     OrdinalExtractor   = Number.German.OrdinalExtractor.GetInstance();
     DurationExtractor  = new BaseDurationExtractor(new GermanDurationExtractorConfiguration(this));
     NumberParser       = new BaseNumberParser(new GermanNumberParserConfiguration(new BaseNumberOptionsConfiguration(config.Culture)));
 }
コード例 #20
0
 public ThaiDateExtractorConfiguration()
 {
     Options              = DateTimeOptions.None;
     IntegerExtractor     = Number.Thai.IntegerExtractor.GetInstance();
     OrdinalExtractor     = Number.Thai.OrdinalExtractor.GetInstance();
     NumberParser         = new BaseNumberParser(new ThaiNumberParserConfiguration());
     DurationExtractor    = null;
     UtilityConfiguration = new ThaiDatetimeUtilityConfiguration();
 }
コード例 #21
0
        public TurkishNumberRangeParserConfiguration(INumberOptionsConfiguration config)
        {
            CultureInfo = new CultureInfo(config.Culture);

            NumberExtractor  = Turkish.NumberExtractor.GetInstance();
            OrdinalExtractor = Turkish.OrdinalExtractor.GetInstance();
            NumberParser     = new BaseNumberParser(new TurkishNumberParserConfiguration(config));
            MoreOrEqual      = new Regex(NumbersDefinitions.MoreOrEqual, RegexFlags);
            LessOrEqual      = new Regex(NumbersDefinitions.LessOrEqual, RegexFlags);
        }
コード例 #22
0
        public TurkishNumberRangeParserConfiguration(CultureInfo ci)
        {
            CultureInfo = ci;

            NumberExtractor  = Turkish.NumberExtractor.GetInstance();
            OrdinalExtractor = Turkish.OrdinalExtractor.GetInstance();
            NumberParser     = new BaseNumberParser(new TurkishNumberParserConfiguration());
            MoreOrEqual      = new Regex(NumbersDefinitions.MoreOrEqual, RegexOptions.Singleline);
            LessOrEqual      = new Regex(NumbersDefinitions.LessOrEqual, RegexOptions.Singleline);
        }
コード例 #23
0
        public GermanDateExtractorConfiguration(IOptionsConfiguration config)
            : base(config)
        {
            IntegerExtractor     = Number.German.IntegerExtractor.GetInstance();
            OrdinalExtractor     = Number.German.OrdinalExtractor.GetInstance();
            NumberParser         = new BaseNumberParser(new GermanNumberParserConfiguration());
            DurationExtractor    = new BaseDurationExtractor(new GermanDurationExtractorConfiguration(this));
            UtilityConfiguration = new GermanDatetimeUtilityConfiguration();

            const RegexOptions dateRegexOption = RegexOptions.Singleline;

            // 3-23-2017
            var dateRegex4 = new Regex(DateTimeDefinitions.DateExtractor4, dateRegexOption);

            // 23-3-2015
            var dateRegex5 = new Regex(DateTimeDefinitions.DateExtractor5, dateRegexOption);

            // am 1.3
            var dateRegex6 = new Regex(DateTimeDefinitions.DateExtractor6, dateRegexOption);

            // am 24-12
            var dateRegex8 = new Regex(DateTimeDefinitions.DateExtractor8, dateRegexOption);

            // 7/23
            var dateRegex7 = new Regex(DateTimeDefinitions.DateExtractor7, dateRegexOption);

            // 23/7
            var dateRegex9 = new Regex(DateTimeDefinitions.DateExtractor9, dateRegexOption);

            // Nächstes Jahr (im Sommer)?
            var dateRegex10 = new Regex(DateTimeDefinitions.DateExtractor10, dateRegexOption);

            // 2015-12-23
            var dateRegexA = new Regex(DateTimeDefinitions.DateExtractorA, dateRegexOption);

            DateRegexList = new List <Regex>
            {
                // (Sonntag,)? 5. April
                new Regex(DateTimeDefinitions.DateExtractor1, dateRegexOption),

                // (Sonntag,)? 5. April, 2016
                new Regex(DateTimeDefinitions.DateExtractor2, dateRegexOption),

                // (Sonntag,)? der 6. April, 2016
                new Regex(DateTimeDefinitions.DateExtractor3, dateRegexOption),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy ?
                                                 new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegex10, dateRegexA } :
                                                 new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegex10, dateRegexA });
        }
コード例 #24
0
        public PortugueseDateExtractorConfiguration(IOptionsConfiguration config)
            : base(config)
        {
            IntegerExtractor     = Number.Portuguese.IntegerExtractor.GetInstance();
            OrdinalExtractor     = Number.Portuguese.OrdinalExtractor.GetInstance();
            NumberParser         = new BaseNumberParser(new PortugueseNumberParserConfiguration());
            DurationExtractor    = new BaseDurationExtractor(new PortugueseDurationExtractorConfiguration(this));
            UtilityConfiguration = new PortugueseDatetimeUtilityConfiguration();

            const RegexOptions dateRegexOption = RegexOptions.Singleline;

            // 3-23-2017
            var dateRegex4 = new Regex(DateTimeDefinitions.DateExtractor4, dateRegexOption);

            // 23-3-2015
            var dateRegex5 = new Regex(DateTimeDefinitions.DateExtractor5, dateRegexOption);

            // no|em 1.3
            var dateRegex6 = new Regex(DateTimeDefinitions.DateExtractor6, dateRegexOption);

            // no|em 24-12
            var dateRegex8 = new Regex(DateTimeDefinitions.DateExtractor8, dateRegexOption);

            // 7/23
            var dateRegex7 = new Regex(DateTimeDefinitions.DateExtractor7, dateRegexOption);

            // 23/7
            var dateRegex9 = new Regex(DateTimeDefinitions.DateExtractor9, dateRegexOption);

            // 2015-12-23
            var dateRegex10 = new Regex(DateTimeDefinitions.DateExtractor10, dateRegexOption);

            // dia 15
            var dateRegex11 = new Regex(DateTimeDefinitions.DateExtractor11, dateRegexOption);

            DateRegexList = new List <Regex>
            {
                // (domingo,)? 5 de Abril
                new Regex(DateTimeDefinitions.DateExtractor1, dateRegexOption),

                // (domingo,)? 5 de Abril 5, 2016
                new Regex(DateTimeDefinitions.DateExtractor2, dateRegexOption),

                // (domingo,)? 6 de Abril
                new Regex(DateTimeDefinitions.DateExtractor3, dateRegexOption),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy
                ? new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegex10, dateRegex11 }
                : new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegex10, dateRegex11 });
        }
        public SwedishCommonDateTimeParserConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            UtilityConfiguration = new SwedishDatetimeUtilityConfiguration();

            UnitMap                = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap           = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap              = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            SpecialYearPrefixesMap = DateTimeDefinitions.SpecialYearPrefixesMap.ToImmutableDictionary();
            CardinalMap            = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek              = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear            = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers                = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers          = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();
            WrittenDecades         = DateTimeDefinitions.WrittenDecades.ToImmutableDictionary();
            SpecialDecadeCases     = DateTimeDefinitions.SpecialDecadeCases.ToImmutableDictionary();

            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            CardinalExtractor = Number.Swedish.CardinalExtractor.GetInstance(numConfig);
            IntegerExtractor  = Number.Swedish.IntegerExtractor.GetInstance(numConfig);
            OrdinalExtractor  = Number.Swedish.OrdinalExtractor.GetInstance(numConfig);

            NumberParser = new BaseNumberParser(new SwedishNumberParserConfiguration(numConfig));

            TimeZoneParser = new BaseTimeZoneParser(new SwedishTimeZoneParserConfiguration(this));

            // Do not change order. The order of initialization can lead to side-effects
            DateExtractor           = new BaseDateExtractor(new SwedishDateExtractorConfiguration(this));
            TimeExtractor           = new BaseTimeExtractor(new SwedishTimeExtractorConfiguration(this));
            DateTimeExtractor       = new BaseDateTimeExtractor(new SwedishDateTimeExtractorConfiguration(this));
            DurationExtractor       = new BaseDurationExtractor(new SwedishDurationExtractorConfiguration(this));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new SwedishDatePeriodExtractorConfiguration(this));
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new SwedishTimePeriodExtractorConfiguration(this));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new SwedishDateTimePeriodExtractorConfiguration(this));

            DurationParser       = new BaseDurationParser(new SwedishDurationParserConfiguration(this));
            DateParser           = new BaseDateParser(new SwedishDateParserConfiguration(this));
            TimeParser           = new TimeParser(new SwedishTimeParserConfiguration(this));
            DateTimeParser       = new BaseDateTimeParser(new SwedishDateTimeParserConfiguration(this));
            DatePeriodParser     = new BaseDatePeriodParser(new SwedishDatePeriodParserConfiguration(this));
            TimePeriodParser     = new BaseTimePeriodParser(new SwedishTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new SwedishDateTimePeriodParserConfiguration(this));

            DateTimeAltParser = new BaseDateTimeAltParser(new SwedishDateTimeAltParserConfiguration(this));
        }
コード例 #26
0
        public ItalianDateExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            IntegerExtractor     = Number.Italian.IntegerExtractor.GetInstance();
            OrdinalExtractor     = Number.Italian.OrdinalExtractor.GetInstance();
            NumberParser         = new BaseNumberParser(new ItalianNumberParserConfiguration(new BaseNumberOptionsConfiguration(config.Culture)));
            DurationExtractor    = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration(this));
            UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();

            const RegexOptions dateRegexOption = RegexOptions.Singleline;

            // 3-23-2017
            var dateRegex4 = new Regex(DateTimeDefinitions.DateExtractor4, dateRegexOption);

            // 23-3-2015
            var dateRegex5 = new Regex(DateTimeDefinitions.DateExtractor5, dateRegexOption);

            // on 1.3
            var dateRegex6 = new Regex(DateTimeDefinitions.DateExtractor6, dateRegexOption);

            // on 24-12
            var dateRegex8 = new Regex(DateTimeDefinitions.DateExtractor8, dateRegexOption);

            // 7/23
            var dateRegex7 = new Regex(DateTimeDefinitions.DateExtractor7, dateRegexOption);

            // 23/7
            var dateRegex9 = new Regex(DateTimeDefinitions.DateExtractor9, dateRegexOption);

            // 2015-12-23
            var dateRegexA = new Regex(DateTimeDefinitions.DateExtractorA, dateRegexOption);

            DateRegexList = new List <Regex>
            {
                // (Sunday,)? April 5
                new Regex(DateTimeDefinitions.DateExtractor1, dateRegexOption),

                // (Sunday,)? April 5, 2016
                new Regex(DateTimeDefinitions.DateExtractor2, dateRegexOption),

                // (Sunday,)? 6th of April
                new Regex(DateTimeDefinitions.DateExtractor3, dateRegexOption),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy
                ? new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegexA }
                : new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegexA });
        }
コード例 #27
0
        public SpanishDateExtractorConfiguration(IOptionsConfiguration config) : base(config)
        {
            IntegerExtractor     = new IntegerExtractor();
            OrdinalExtractor     = new OrdinalExtractor();
            NumberParser         = new BaseNumberParser(new SpanishNumberParserConfiguration());
            DurationExtractor    = new BaseDurationExtractor(new SpanishDurationExtractorConfiguration(this));
            UtilityConfiguration = new SpanishDatetimeUtilityConfiguration();

            const RegexOptions dateRegexOption = RegexOptions.IgnoreCase | RegexOptions.Singleline;

            // 3-23-2017
            var dateRegex4 = new Regex(DateTimeDefinitions.DateExtractor4, dateRegexOption);

            // 23-3-2015
            var dateRegex5 = new Regex(DateTimeDefinitions.DateExtractor5, dateRegexOption);

            // el 1.3
            var dateRegex6 = new Regex(DateTimeDefinitions.DateExtractor6, dateRegexOption);

            // el 24-12
            var dateRegex8 = new Regex(DateTimeDefinitions.DateExtractor8, dateRegexOption);

            // 7/23
            var dateRegex7 = new Regex(DateTimeDefinitions.DateExtractor7, dateRegexOption);

            // 23/7
            var dateRegex9 = new Regex(DateTimeDefinitions.DateExtractor9, dateRegexOption);

            // 2015-12-23
            var dateRegex10 = new Regex(DateTimeDefinitions.DateExtractor10, dateRegexOption);

            DateRegexList = new List <Regex>
            {
                // (domingo,)? 5 de Abril
                new Regex(DateTimeDefinitions.DateExtractor1, dateRegexOption),

                // (domingo,)? 5 de Abril 5, 2016
                new Regex(DateTimeDefinitions.DateExtractor2, dateRegexOption),

                // (domingo,)? 6 de Abril
                new Regex(DateTimeDefinitions.DateExtractor3, dateRegexOption),
            };

            var enableDmy = EnableDmy ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy
                ? new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegex10 }
                : new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegex10 });
        }
コード例 #28
0
        public FrenchCommonDateTimeParserConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            UtilityConfiguration = new FrenchDatetimeUtilityConfiguration();

            UnitMap                = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap           = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap              = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            SpecialYearPrefixesMap = DateTimeDefinitions.SpecialYearPrefixesMap.ToImmutableDictionary();
            CardinalMap            = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek              = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear            = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers                = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers          = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();
            WrittenDecades         = DateTimeDefinitions.WrittenDecades.ToImmutableDictionary();
            SpecialDecadeCases     = DateTimeDefinitions.SpecialDecadeCases.ToImmutableDictionary();

            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            CardinalExtractor = Number.French.CardinalExtractor.GetInstance(numConfig);
            IntegerExtractor  = Number.French.IntegerExtractor.GetInstance(numConfig);
            OrdinalExtractor  = Number.French.OrdinalExtractor.GetInstance(numConfig);

            NumberParser = new BaseNumberParser(new FrenchNumberParserConfiguration(numConfig));

            DateExtractor           = new BaseDateExtractor(new FrenchDateExtractorConfiguration(this));
            TimeExtractor           = new BaseTimeExtractor(new FrenchTimeExtractorConfiguration(this));
            DateTimeExtractor       = new BaseDateTimeExtractor(new FrenchDateTimeExtractorConfiguration(this));
            DurationExtractor       = new BaseDurationExtractor(new FrenchDurationExtractorConfiguration(this));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new FrenchDatePeriodExtractorConfiguration(this));
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new FrenchTimePeriodExtractorConfiguration(this));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new FrenchDateTimePeriodExtractorConfiguration(this));

            // DurationParser should be assigned first, as DateParser would reference the DurationParser
            DurationParser       = new BaseDurationParser(new FrenchDurationParserConfiguration(this));
            DateParser           = new BaseDateParser(new FrenchDateParserConfiguration(this));
            TimeParser           = new BaseTimeParser(new FrenchTimeParserConfiguration(this));
            DateTimeParser       = new BaseDateTimeParser(new FrenchDateTimeParserConfiguration(this));
            DatePeriodParser     = new BaseDatePeriodParser(new FrenchDatePeriodParserConfiguration(this));
            TimePeriodParser     = new BaseTimePeriodParser(new FrenchTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new FrenchDateTimePeriodParserConfiguration(this));
            DateTimeAltParser    = new BaseDateTimeAltParser(new FrenchDateTimeAltParserConfiguration(this));
        }
コード例 #29
0
        public SpanishNumberRangeParserConfiguration(CultureInfo ci)
        {
            CultureInfo = ci;

            NumberExtractor     = Spanish.NumberExtractor.GetInstance();
            OrdinalExtractor    = Spanish.OrdinalExtractor.GetInstance();
            NumberParser        = new BaseNumberParser(new SpanishNumberParserConfiguration());
            MoreOrEqual         = new Regex(NumbersDefinitions.MoreOrEqual, RegexOptions.Singleline);
            LessOrEqual         = new Regex(NumbersDefinitions.LessOrEqual, RegexOptions.Singleline);
            MoreOrEqualSuffix   = new Regex(NumbersDefinitions.MoreOrEqualSuffix, RegexOptions.Singleline);
            LessOrEqualSuffix   = new Regex(NumbersDefinitions.LessOrEqualSuffix, RegexOptions.Singleline);
            MoreOrEqualSeparate = new Regex(NumbersDefinitions.OneNumberRangeMoreSeparateRegex, RegexOptions.Singleline);
            LessOrEqualSeparate = new Regex(NumbersDefinitions.OneNumberRangeLessSeparateRegex, RegexOptions.Singleline);
        }
        public ItalianNumberRangeParserConfiguration(CultureInfo ci)
        {
            CultureInfo = ci;

            NumberExtractor  = Italian.NumberExtractor.GetInstance();
            OrdinalExtractor = Italian.OrdinalExtractor.GetInstance();
            NumberParser     = new BaseNumberParser(new ItalianNumberParserConfiguration());
            //MoreOrEqual = new Regex(NumbersDefinitions.MoreOrEqual, RegexOptions.IgnoreCase | RegexOptions.Singleline);
            //LessOrEqual = new Regex(NumbersDefinitions.LessOrEqual, RegexOptions.IgnoreCase | RegexOptions.Singleline);
            //MoreOrEqualSuffix = new Regex(NumbersDefinitions.MoreOrEqualSuffix, RegexOptions.IgnoreCase | RegexOptions.Singleline);
            //LessOrEqualSuffix = new Regex(NumbersDefinitions.LessOrEqualSuffix, RegexOptions.IgnoreCase | RegexOptions.Singleline);
            //MoreOrEqualSeparate = new Regex(NumbersDefinitions.OneNumberRangeMoreSeparateRegex, RegexOptions.IgnoreCase | RegexOptions.Singleline);
            //LessOrEqualSeparate = new Regex(NumbersDefinitions.OneNumberRangeLessSeparateRegex, RegexOptions.IgnoreCase | RegexOptions.Singleline);
        }