From 22ed45110d0f15f912335debda9b500dac350c4b Mon Sep 17 00:00:00 2001 From: LionbridgeCSII <53436544+LionbridgeCSII@users.noreply.github.com> Date: Fri, 28 May 2021 13:22:12 +0700 Subject: [PATCH] [.NET] Arabic DatePeriod support (#2622) * Arabic DatePeriod support * Reverted unintentional changes to reference dates in specs Co-authored-by: LionbridgeCS2 --- .../Arabic/DateTimeDefinitions.cs | 128 ++-- .../Arabic/NumbersDefinitions.cs | 2 + Patterns/Arabic/Arabic-DateTime.yaml | 165 +++-- Patterns/Arabic/Arabic-Numbers.yaml | 2 + .../DateTime/Arabic/DatePeriodExtractor.json | 694 ++++++------------ Specs/DateTime/Arabic/DatePeriodParser.json | 449 +++++------ Specs/DateTime/Korean/DateExtractor.json | 28 - Specs/DateTime/Korean/DateParser.json | 52 -- 8 files changed, 593 insertions(+), 927 deletions(-) diff --git a/.NET/Microsoft.Recognizers.Definitions.Common/Arabic/DateTimeDefinitions.cs b/.NET/Microsoft.Recognizers.Definitions.Common/Arabic/DateTimeDefinitions.cs index 385748c363..01d1034cec 100644 --- a/.NET/Microsoft.Recognizers.Definitions.Common/Arabic/DateTimeDefinitions.cs +++ b/.NET/Microsoft.Recognizers.Definitions.Common/Arabic/DateTimeDefinitions.cs @@ -23,7 +23,7 @@ public static class DateTimeDefinitions { public const string LangMarker = @"Ara"; public const bool CheckBothBeforeAfter = false; - public static readonly string TillRegex = $@"(?\b(إلى|حتى|خلال|عبر)\b|{BaseDateTime.RangeConnectorSymbolRegex})"; + public static readonly string TillRegex = $@"(?\b(إلى|حتى يوم|حتى|خلال|عبر)\b|{BaseDateTime.RangeConnectorSymbolRegex})"; public static readonly string RangeConnectorRegex = $@"(?و|خلال|عبر|{BaseDateTime.RangeConnectorSymbolRegex})"; public const string LastNegPrefix = @"(?القادم|التالي|الآتي|الحالي|الماضي|المقبل|الحاضر|السابق|الأخير)\b"; @@ -37,19 +37,19 @@ public static class DateTimeDefinitions public const string RangePrefixRegex = @"(من|بين)"; public const string CenturySuffixRegex = @"(^century)\b"; public const string ReferencePrefixRegex = @"(ذلك|نفس|هذا)\b"; - public const string FutureSuffixRegex = @"\b(in\s+the\s+)?(future|hence)\b"; + public const string FutureSuffixRegex = @"\b(الحالي(ة)|القادم(ة)|في المستقبل|التالي(ة)|الآتي(ة)|المقبلين|المقبل(ة))\b"; public const string DayRegex = @"(?(?:3[0-1]|[1-2]\d|0?[1-9]))"; public const string ImplicitDayRegex = @"(the\s*)?(?(?:3[0-1]|[0-2]?\d)(?:th|nd|rd|st))\b"; public const string MonthNumRegex = @"(?1[0-2]|(0)?[1-9])\b"; - public const string WrittenOneToNineRegex = @"(?:واحد|اثنان |ثلاثة |أربعة |خمسة |ستة |سبعة|ثمانية| تسعة)"; - public const string WrittenElevenToNineteenRegex = @"(إحدى عشر|إثنى عشر|ثلاثة عشر|أربعة عشر|خمسة عشر|ستة عشر|سبعة عشر||ثمانية عشر||تسعة عشر)"; - public const string WrittenTensRegex = @"(عشرون|ثلاثون|أربعون|خمسون|ستون|سبعون|ثمانون|تسعون)"; + public const string WrittenOneToNineRegex = @"(?:واحد|اثنان|ثلاثة|أربعة|خمسة|ستة|سبعة|ثمانية|تسعة)"; + public const string WrittenElevenToNineteenRegex = @"(إحدى عشر|إثنى عشر|ثلاثة عشر|أربعة عشر|خمسة عشر|ستة عشر|سبعة عشر|ثمانية عشر|تسعة عشر)"; + public const string WrittenTensRegex = @"(عشر[وي]ن|ثلاث[وي]ن|أربع[وي]ن|خمس[وي]ن|ست[وي]ن|سبع[وي]ن|ثمان[وي]ن|تسع[وي]ن)"; public static readonly string WrittenNumRegex = $@"(?:{WrittenOneToNineRegex}|{WrittenElevenToNineteenRegex}|{WrittenTensRegex}(\s+{WrittenOneToNineRegex})?)"; - public static readonly string WrittenCenturyFullYearRegex = $@"(?(واحد|اثنان)?\s*((,\s+|،\s+)?(ألفين|ألفان|ألف))(\s+و)?(\s*(ثلاث|أربع|خمس|ست|سبع|ثمان|تسع)\s*(مائة|مئتان)(\s+و)?)?)\s*(?({WrittenElevenToNineteenRegex})|(({WrittenOneToNineRegex})?(\s+و\s*)?)({WrittenTensRegex})?)?"; - public const string WrittenCenturyOrdinalYearRegex = @"(?:twenty(\s+(one|two))?|ten|eleven|twelve|thirteen|fifteen|eigthteen|(?:four|six|seven|nine)(teen)?|one|two|three|five|eight)"; + public static readonly string WrittenCenturyFullYearRegex = $@"(?(واحد|اثنان\s*)?((,\s+|،\s+)?(الألفين|ألفين|ألفان|ألف))(\s+و)?(\s*(ثلاث|أربع|خمس|ست|سبع|ثمان|تسع)\s*(مائة|مئتان)(\s+و)?)?)(?({WrittenElevenToNineteenRegex})|(({WrittenOneToNineRegex})?(\s+و\s*)?)({WrittenTensRegex})?)?"; + public static readonly string WrittenCenturyOrdinalYearRegex = $@"(?({WrittenElevenToNineteenRegex}|مائة|مائتين)\s+((و)\s*)?({WrittenOneToNineRegex})\s+(و)\s*{WrittenTensRegex})"; public static readonly string CenturyRegex = $@"\b(?{WrittenCenturyFullYearRegex}|{WrittenCenturyOrdinalYearRegex}(\s*مائة)?(\s*و)?)\b"; public static readonly string LastTwoYearNumRegex = $@"(?:zero\s+{WrittenOneToNineRegex}|{WrittenElevenToNineteenRegex}|{WrittenTensRegex}(\s+{WrittenOneToNineRegex})?)"; - public static readonly string FullTextYearRegex = $@"\b((?{CenturyRegex})\s*(?{LastTwoYearNumRegex})\b|\b(?{WrittenCenturyFullYearRegex}|{WrittenCenturyOrdinalYearRegex}\s*مائة(\s*و)?))\b"; + public static readonly string FullTextYearRegex = $@"(?{CenturyRegex})\s*(?{LastTwoYearNumRegex})|(?{WrittenCenturyFullYearRegex})|{WrittenCenturyOrdinalYearRegex}"; public const string OclockRegex = @"(?(ال)?ساعة|(ال)?ساعات)"; public const string SpecialDescRegex = @"((?)p\b)"; public static readonly string AmDescRegex = $@"(في\s)?(صباح(ا)?|صباحًا|الصباح|{BaseDateTime.BaseAmDescRegex})"; @@ -65,7 +65,7 @@ public static class DateTimeDefinitions public static readonly string RelativeMonthRegex = $@"(?(من\s+)?(هذا\s+)?(الشهر|شهر)(\s+)?({NextRegex})?)"; public const string WrittenMonthRegex = @"(((the\s+)?month of\s+)?(?apr(il)?|aug(ust)?|dec(ember)?|feb(ruary)?|jan(uary)?|july?|june?|mar(ch)?|may|nov(ember)?|oct(ober)?|sept(ember)?|sept?))"; public static readonly string MonthSuffixRegex = $@"(?(?:(in|of|on)\s+)?({RelativeMonthRegex}|{WrittenMonthRegex}))"; - public const string DateUnitRegex = @"(?(ال)?يوم(ا)?|(ال)?أسبوع(ا)?|(ال)?شهر(ا)?|(ال)?سنة|(ال)?عام(ا)?|(ال)?قرن|(ال)?حقبة|(ال)?يومان|(ال)?أسبوعان|(ال)?شهران|(ال)?سنتان|(ال)?عامان|(ال)?قرنان|(ال)?حقبتان|(ال)?يومين|(ال)?أسبوعين|(ال)?شهرين|(ال)?سنتين|(ال)?عامين|(ال)?قرنين|(ال)?حقبتين|(ال)?أيام|(ال)?أشهر|(ال)?سنوات|(ال)?سنين|(ال)?أعوام|(ال)?حقبات|(ال)?قرون|نهاية الأسبوع|(?<=\s+\d{1,4})[ymwd])\b"; + public const string DateUnitRegex = @"(?(ال)?يوم(ا)?|(ال)?أسبوع(ا)?|(ال)?شهر(ا)?|(ال)?سنة|(ال)?عام(ا)?|(ال)?قرن|(ال)?حقبة|(ال)?يومان|(ال)?أسبوعان|(ال)?شهران|(ال)?سنتان|(ال)?عامان|(ال)?قرنان|(ال)?حقبتان|(ال)?يومين|(ال)?أسبوعين|(ال)?شهرين|(ال)?سنتين|(ال)?عامين|(ال)?قرنين|(ال)?حقبتين|(ال)?أيام|الأسابيع|(ال)?أشهر|(ال)?سنوات|(ال)?سنين|(ال)?أعوام|(ال)?حقبات|(ال)?قرون|نهاية الأسبوع|(?<=\s+\d{1,4})[ymwd])\b"; public const string DateTokenPrefix = @"في "; public const string TimeTokenPrefix = @"عند "; public const string TokenBeforeDate = @"في "; @@ -78,61 +78,63 @@ public static class DateTimeDefinitions public const string ForHalfTokenRegex = @"\b(ل(s+)?(نصف))$"; public const string FromRegex = @"\b(from(\s+the)?)$"; public const string BetweenTokenRegex = @"\b(between(\s+the)?)$"; - public static readonly string SimpleCasesRegex = $@"\b({RangePrefixRegex}\s+)?({DayRegex})\s*{TillRegex}\s*({DayRegex}\s+{MonthSuffixRegex}|{MonthSuffixRegex}\s+{DayRegex})((\s+|\s*,\s*){YearRegex})?\b"; - public static readonly string MonthFrontSimpleCasesRegex = $@"\b({RangePrefixRegex}\s+)?{MonthSuffixRegex}\s+((from)\s+)?({DayRegex})\s*{TillRegex}\s*({DayRegex})((\s+|\s*,\s*){YearRegex})?\b"; + public const string OrdinalNumberRegex = @"((ال)?حادي عشر|ل(ال)?ثاني عشر|(ال)?ثالث عشر|(ال)?رابع عشر|(ال)?خامس عشر|(ال)?خمسة عشر|(ال)?سادس عشر|(ال)?سابع عشر|(ال)?ثامن عشر|(ال)?تاسع عشر|(ال)?عشرون|(ال)?عشرين|(ال)?حادي والعشرون|(ال)?حادية والعشرين|(ال)?حادي والعشرين|(ال)?ثاني والعشرون|(ال)?ثانية والعشرين|(ال)?ثالث والعشرون|(ال)?رابع والعشرون|(ال)?خامس والعشرون|(ال)?سادس والعشرون|(ال)?تاسع والعشرون|(ال)?سابع والعشرون|(ال)?رابع والعشرون|الثامن|الأول|الثالث|الرابع|الخامس|السادس|الثاني|العاشر|السابع)"; + public static readonly string SimpleCasePreMonthRegex = $@"((بين|من)\s+)(({DayRegex}-{DayRegex})\s+)((من|في)\s+)?((الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})\s+)({RelativeRegex})?({YearRegex})?"; + public static readonly string SimpleCasesRegex = $@"(((من)\s+)?(({DayRegex}|{OrdinalNumberRegex})\s+)((الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})\s+)?((حتى|إلى)\s*)(({DayRegex}|{OrdinalNumberRegex})\s+)((من هذا|من|هذا|في)\s+)?(الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})?(\s+({RelativeRegex}))?(\s+{YearRegex})?)|({SimpleCasePreMonthRegex})"; + public static readonly string MonthFrontSimpleCasesRegex = $@"(((شهر\s+)?{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})\s+(بين|من)\s+({DayRegex}|{OrdinalNumberRegex})\s+[و]\s*({DayRegex}|{OrdinalNumberRegex}))|({DayRegex}\s*[-\./]\s*{DayRegex}\s+{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})"; public static readonly string MonthFrontBetweenRegex = $@"\b{MonthSuffixRegex}\s+(between\s+)({DayRegex})\s*{RangeConnectorRegex}\s*({DayRegex})((\s+|\s*,\s*){YearRegex})?\b"; - public static readonly string BetweenRegex = $@"\b(between\s+)({DayRegex})\s*{RangeConnectorRegex}\s*({DayRegex})\s+{MonthSuffixRegex}((\s+|\s*,\s*){YearRegex})?\b"; - public static readonly string MonthWithYear = $@"\b(({WrittenMonthRegex}[\.]?(\s*)[/\\\-\.,]?(\s+(of|in))?(\s*)({YearRegex}|(?following|next|last|this)\s+year))|(({YearRegex}|(?following|next|last|this)\s+year)(\s*),?(\s*){WrittenMonthRegex}))\b"; - public const string SpecialYearPrefixes = @"(calendar|(?fiscal|school))"; - public static readonly string OneWordPeriodRegex = $@"\b((((the\s+)?month of\s+)?({StrictRelativeRegex}\s+)?(?apr(il)?|aug(ust)?|dec(ember)?|feb(ruary)?|jan(uary)?|july?|june?|mar(ch)?|may|nov(ember)?|oct(ober)?|sept(ember)?|sept?))|(month|year) to date|(?((un)?till?|to)\s+date)|({RelativeRegex}\s+)?(my\s+)?((?working\s+week|workweek)|week(end)?|month|(({SpecialYearPrefixes}\s+)?year))(?!((\s+of)?\s+\d+(?!({BaseDateTime.BaseAmDescRegex}|{BaseDateTime.BasePmDescRegex}))|\s+to\s+date))(\s+{AfterNextSuffixRegex})?)\b"; + public static readonly string BetweenRegex = $@"((بين|من)\s+)(({DayRegex}|{OrdinalNumberRegex})\s*)((الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})\s+)?((حتى|إلى|و|-)\s*)(({DayRegex}|{OrdinalNumberRegex})\s+)((من هذا|من|هذا|في)\s+)?(الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})?(\s*([,،-])\s*)?(\s*({RelativeRegex}))?(\s+{YearRegex})?"; + public static readonly string MonthWithYear = $@"((هذا\s+)?(شهر\s+)?({SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})[\.]?(\s*)[/\\\-\.,]?(\s*(من عام|من|في|عام))?(\s*)({YearRegex}))|(({SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})\s+(هذا\s+)?((عام|العام)\s+)?({RelativeRegex})?)"; + public const string SpecialYearPrefixes = @"(التقويمي(ة)?|(?المالي(ة)?|الدراسي(ة)?))"; + public static readonly string OneWordPeriodRegex = $@"((بعد|في|آخر)\s+(\d+\s+)?((ال)?سنوات|(ال)?أعوام|(ال)?سنين|(ال)?أسابيع|(ال)?أشهر|(ال)?أيام))(\s+\d+)?(\s+{FutureSuffixRegex})?|((هذا\s+)?(شهر\s+)?(الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})(\s+{RelativeRegex})?)|((هذا\s+)?((عطلة|خلال)\s+)?((نهاية\s+)?({ArabicWeekRegex}|العام)\s*)((بعد\s+)?{RelativeRegex})?)"; public static readonly string MonthNumWithYear = $@"\b(({BaseDateTime.FourDigitYearRegex}(\s*)[/\-\.](\s*){MonthNumRegex})|({MonthNumRegex}(\s*)[/\-](\s*){BaseDateTime.FourDigitYearRegex}))\b"; - public static readonly string WeekOfMonthRegex = $@"\b(?(the\s+)?(?first|1st|second|2nd|third|3rd|fourth|4th|fifth|5th|last)\s+week\s+{MonthSuffixRegex}(\s+{BaseDateTime.FourDigitYearRegex}|{RelativeRegex}\s+year)?)\b"; - public static readonly string WeekOfYearRegex = $@"\b(?(the\s+)?(?first|1st|second|2nd|third|3rd|fourth|4th|fifth|5th|last)\s+week(\s+of)?\s+({YearRegex}|{RelativeRegex}\s+year))\b"; + public static readonly string WeekOfMonthRegex = $@"(\b(?(الأسبوع)\s+((?الأول|الثاني|الثالث|الرابع|الخامس|الأخير)\s+)((من هذا|هذا|من)\s+)?(شهر\s+)?(الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})[,]?(\s+{YearRegex})?)\b)|(((الأسبوع|أسبوع)\s+)(في\s+)?{DayRegex}\s+({SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex}))"; + public static readonly string WeekOfYearRegex = $@"(?(الأسبوع)\s+(?الأول|الثاني|الثالث|الرابع|الخامس|الأخير)\s+((من هذا|هذا|من)\s+)?(العام|من عام|عام)\s*({YearRegex}|{RelativeRegex})?)"; public static readonly string FollowedDateUnit = $@"^\s*{DateUnitRegex}"; public static readonly string NumberCombinedWithDateUnit = $@"\b(?\d+(\.\d*)?)(\s)?(-)?{DateUnitRegex}"; - public const string QuarterTermRegex = @"\b(((?first|1st|second|2nd|third|3rd|fourth|4th)[ -]+quarter)|(q(?[1-4])))\b"; - public static readonly string RelativeQuarterTermRegex = $@"\b(?{StrictRelativeRegex})\s+quarter\b"; - public static readonly string QuarterRegex = $@"((the\s+)?{QuarterTermRegex}(?:((\s+of)?\s+|\s*[,-]\s*)({YearRegex}|{RelativeRegex}\s+year))?)|{RelativeQuarterTermRegex}"; + public const string QuarterTermRegex = @"(الربع[- ]+(?الأول|الثاني|الثالث|الرابع))"; + public static readonly string RelativeQuarterTermRegex = $@"\b(الربع)\s+(?{StrictRelativeRegex})\b"; + public static readonly string QuarterRegex = $@"({YearRegex}\s+)?({QuarterTermRegex})(((\s+(من عام|من))?\s+({YearRegex}))|(\s+(هذا|من هذا|)\s+العام))?"; public static readonly string QuarterRegexYearFront = $@"(?:{YearRegex}|{RelativeRegex}\s+year)('s)?(?:\s*-\s*|\s+(the\s+)?)?{QuarterTermRegex}"; public const string HalfYearTermRegex = @"(?first|1st|second|2nd)\s+half"; public static readonly string HalfYearFrontRegex = $@"(?((1[5-9]|20)\d{{2}})|2100)(\s*-\s*|\s+(the\s+)?)?h(?[1-2])"; public static readonly string HalfYearBackRegex = $@"(the\s+)?(h(?[1-2])|({HalfYearTermRegex}))(\s+of|\s*,\s*)?\s+({YearRegex})"; public static readonly string HalfYearRelativeRegex = $@"(the\s+)?{HalfYearTermRegex}(\s+of|\s*,\s*)?\s+({RelativeRegex}\s+year)"; public static readonly string AllHalfYearRegex = $@"({HalfYearFrontRegex})|({HalfYearBackRegex})|({HalfYearRelativeRegex})"; - public const string EarlyPrefixRegex = @"\b(?early|beginning of|start of|(?earlier(\s+in)?))\b"; - public const string MidPrefixRegex = @"\b(?mid-?|middle of)\b"; - public const string LaterPrefixRegex = @"\b(?late|end of|(?later(\s+in)?))\b"; - public static readonly string PrefixPeriodRegex = $@"({EarlyPrefixRegex}|{MidPrefixRegex}|{LaterPrefixRegex})"; + public const string EarlyPrefixRegex = @"\b(?بداية|مطلع|وقت مبكر|(?قبل))\b"; + public const string MidPrefixRegex = @"\b(?في منتصف|منتصف)\b"; + public const string LaterPrefixRegex = @"\b(?نهاية|باقي|بقية|أواخر|(?في وقت لاحق|لاحقا في|بعد))\b"; + public static readonly string PrefixPeriodRegex = $@"({EarlyPrefixRegex}|{MidPrefixRegex}|{LaterPrefixRegex}|{RelativeRegex})"; public const string PrefixDayRegex = @"\b((?early)|(?mid(dle)?)|(?later?))(\s+in)?(\s+the\s+day)?$"; - public const string SeasonDescRegex = @"(?spring|summer|fall|autumn|winter)"; - public static readonly string SeasonRegex = $@"\b(?({PrefixPeriodRegex}\s+)?({RelativeRegex}\s+)?{SeasonDescRegex}((\s+of|\s*,\s*)?\s+({YearRegex}|{RelativeRegex}\s+year))?)\b"; + public const string SeasonDescRegex = @"(?(ال)?ربيع|(ال)?صيف|(ال)?خريف|(ال)?شتاء)"; + public static readonly string SeasonRegex = $@"\b(?(هذا\s+)?(منتصف\s+)?(({SeasonDescRegex})(\s+{PrefixPeriodRegex})?(\s*عام\s*)?(\s*{YearRegex})?))\b"; public const string WhichWeekRegex = @"\b(week)(\s*)(?5[0-3]|[1-4]\d|0?[1-9])\b"; public const string WeekOfRegex = @"(the\s+)?((week)(\s+(of|(commencing|starting|beginning)(\s+on)?))|w/c)(\s+the)?"; - public const string MonthOfRegex = @"(month)(\s*)(of)"; - public const string SolarMonthRegex = @"(?يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)"; - public const string LunarMonthRegex = @"(?محرم|صفر|ربيع الأول|ربيع الثاني|جمادى الأول|جمادى الثاني|رجب|شعبان|رمضان|شوال|ذو القعدة|ذو الحجة)"; - public const string ArabicMonthRegex = @"(?كانون الثاني|شباط|آذار|نيسان|حزيران|تموز|آب|أيلول|تشرين الأول|تشرين الثاني|كانون الأول|أيار)"; + public const string MonthOfRegex = @"(من)(\s*)(شهر)"; + public const string SolarMonthRegex = @"(?يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)"; + public const string LunarMonthRegex = @"(?محرم|صفر|ربيع الأول|ربيع الثاني|جمادى الأول|جمادى الثاني|رجب|شعبان|رمضان|شوال|ذو القعدة|ذو الحجة)"; + public const string ArabicMonthRegex = @"(?كانون الثاني|شباط|آذار|نيسان|حزيران|تموز|آب|أيلول|تشرين الأول|تشرين الثاني|كانون الأول|أيار)"; public static readonly string MonthRegex = $@"(?{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})"; public static readonly string DateYearRegex = $@"(?{BaseDateTime.FourDigitYearRegex}|(?الأسبوعين|الاسبوعين|أسابيع|الاسبوع|الأسبوع|أسبوع|أسبوعين|الاسابيع|الأسابيع)"; + public const string ArabicWeekRegex = @"(?الأسبوعين|الاسبوعين|أسابيع|الاسبوع|الأسبوع|الإسبوع|أسبوعين|أسبوعي|اسبوعين|اسبوعي|أسبوع|الاسابيع|الأسابيع)"; public static readonly string ThisRegex = $@"(?=يوم\s+)?({WeekDayRegex})(\s+)?(من|هذا|)(\s+)?(هذا)?(\s+)({ArabicWeekRegex})((\s+)({RelativeRegex}))?"; public static readonly string LastDayDateRegex = $@"(?=يوم\s+)?({WeekDayRegex})\s+(الماضي|السابق|الأخير)"; public static readonly string LastWeekDateRegex = $@"({ArabicWeekRegex})\s+(الماضي|السابق|الأخير)\s+({WeekDayRegex})"; public const string LastMonthYearDateRegex = @"(قبل\s+)(\d+ )?((بضعة|بضع|عدة)\s+)?(سنتين|شهرين|الشهور|أشهر|اشهر|شهر|الشهر|أيام|عامين|عام|أعوام|سنة|سنين|سنوات)"; - public const string SpecificDayRegex = @"((قبل|بعد)\s+)?((اليوم|يوم)\s+)?(((?<=ب)الأمس|أمس|الأمس|البارحة)|(آخر يوم|الماضي|السابق|الأخير|يومين))"; + public static readonly string SpecificDayRegex = $@"((قبل|بعد)\s+)?((اليوم|يوم)\s+)?(((?<=ب)الأمس|أمس|الأمس|البارحة)|(آخر يوم|الماضي|السابق|الأخير|يومين)|({DayRegex}\s+{MonthRegex}))"; public static readonly string LastDateRegex = $@"({LastDayDateRegex}|{LastWeekDateRegex})"; public static readonly string NextDayRegex = $@"(هذا يوم\s+|بعد\s+)?(?=(ال)?يوم\s+)?({WeekDayRegex})((\s+)({NextRegex}))?"; - public static readonly string NextWeekDayRegex = $@"((بعد )|(في هذا ?=)|(هذا ?=))?((ال|لل|ل)?أسبوع(ين)?|{ArabicWeekRegex}|اليوم|يومي|غداً|غد|غدا)(يوم)?({ArabicWeekRegex})?(\s+{NextRegex})?(\s+{ArabicWeekRegex})?"; + public static readonly string NextWeekDayRegex = $@"((بعد )|(في هذا ?=)|(هذا ?=))?((ال|لل|ل)?أسبوع(ين)?|{ArabicWeekRegex}|اليوم|يومي|الغد|غداً|غد|غدا)(يوم)?({ArabicWeekRegex})?(\s*(الآتي|الأخير|التالي|القادم|من الآن|الحالي|المقبل|الحاضر))?(\s*{ArabicWeekRegex})?"; public static readonly string NextWeekRegex = $@"(?=بعد )?(هذا )?({ArabicWeekRegex})\s*({NextRegex})?\s+?(يوم)?(\s+)?({WeekDayRegex})?"; public static readonly string NextDateRegex = $@"({NextWeekRegex}|{NextDayRegex})"; public static readonly string CardinalDayOfMonthRegex = $@"(((?<=في )|(إلى |لل|يوم ))((((ال)?عاشر|(ال)?حادي(ة)? والعشرين|(ال)?ثاني(ة)? والعشرين|(ال)?ثالث(ة)? والعشرين|(ال)?رابع(ة)? والعشرين|(ال)?خامس(ة)? والعشرين|(ال)?سادس(ة)? والعشرين|(ال)?سابع(ة)? والعشرين|(ال)?ثامن(ة)? والعشرين|(ال)?تاسع(ة)? والعشرين|(ال)?ثلاثين|(ال)?حادي(ة)? والثلاثين|(ال)?أول|(ال)?ثاني|(ال)?ثالث|(ال)?رابع|(ال)?خامس|(ال)?سادس|(ال)?سابع|(ال)?ثامن|(ال)?تاسع))|({DayRegex})))|((?<=يوم )({DayRegex})[\./-]\s+({MonthRegex}))"; - public static readonly string SpecialDayRegex = $@"((ال)?يوم(\s{DayRegex}\s{MonthRegex})|{NextWeekDayRegex}|{CardinalDayOfMonthRegex}|{SpecificDayRegex}|{LastMonthYearDateRegex})"; + public static readonly string SpecialDayRegex = $@"({NextWeekDayRegex}|{CardinalDayOfMonthRegex}|{SpecificDayRegex}|{LastMonthYearDateRegex})"; public static readonly string SpecialDayWithNumRegex = $@"\b((?{WrittenNumRegex})\s+days?\s+from\s+(?yesterday|tomorrow|tmr|today))\b"; public static readonly string RelativeDayRegex = $@"\b(((the\s+)?{RelativeRegex}\s+day))\b"; public const string SetWeekDayRegex = @"\b(?on\s+)?(?morning|afternoon|evening|night|(sun|mon|tues|wednes|thurs|fri|satur)day)s\b"; @@ -242,8 +244,8 @@ public static class DateTimeDefinitions public static readonly string DurationFollowedUnit = $@"(^\s*{DurationUnitRegex}\s+{SuffixAndRegex})|(^\s*{SuffixAndRegex}?\s+?{DurationUnitRegex})"; public static readonly string NumberCombinedWithDurationUnit = $@"((?\d+(\.\d*)?(\s)?)?({DurationUnitRegex})(\s{WrittenOneToNineRegex})?(\sو)?(\s)?(?\d+(\.\d*)?(\s)?)?(({DurationUnitRegex})?(\s{WrittenOneToNineRegex})?)(\sو)?(\s)?(?\d+(\.\d*)?(\s)?)?({DurationUnitRegex})(\s{WrittenOneToNineRegex})?)"; public static readonly string AnUnitRegex = $@"\b((?(1/2|½|نصف)))\s+{DurationUnitRegex}(\s(أخرى))?"; - public const string DuringRegex = @"\b((((خلال|على مدى|مدة)\s)|ل)+)(?(ال)?عام(ين)?|(ال)?سنتين|(ال)?سنة|(ال)?شهر(ين)?|(ال)?أسبوع(ين)?|(ال)?يوم(ين)?)\b"; - public const string AllRegex = @"(?(طوال\s+))?(?(ال)?عام|(ال)?سنة|(ال)?شهر|(ال)?أسبوع|(ال)?يوم)(?(\s+كامل(ة)?))?"; + public const string DuringRegex = @"\b((((خلال|على مدى|مدة)\s)|ل)+)(?(ال)?عام(ين)?|(ال)?سنتين|(ال)?سنة|(ال)?شهر(ين)?|الأشهر|(ال)?أسبوع(ين)?|(ال)?يوم(ين)?)\b"; + public const string AllRegex = @"(?(طوال\s+))?(?(ال)?عام|(ال)?سنة|(ال)?شهر|(ال)?أسبوع|(ال)?أسابيع|(ال)?أيام|(ال)?يوم)(?(\s+كامل(ة)?))?"; public const string HalfRegex = @"\b((نصف)\s+)?(?(ال)?ساعة|ساعتين|دقيقة|دقيقتين|ثانية|ثانيتين|(ال)?عام(ين)?|(ال)?سنة|(ال)?شهر(ين)?|(ال)?أسبوع(ين)?|(ال)?يوم(ين)?)(?(\s+)?(و)?نصف)?\b"; public const string ConjunctionRegex = @"\b((و(\s+ل)?)|مع)\b"; public const string ArabicThisYearRegex = @"(\s*)?(هذا|هذه)?(لعام|عام|العام|سنة)?(\s*)?"; @@ -276,7 +278,7 @@ public static class DateTimeDefinitions public const string EveningStartEndRegex = @"(^(evening))|((evening)$)"; public const string NightStartEndRegex = @"(^(over|to)?ni(ght|te))|((over|to)?ni(ght|te)$)"; public const string InexactNumberRegex = @"بضع(ة)?|عدة|(?((ل))?عدد(\s+من)?)"; - public static readonly string InexactNumberUnitRegex = $@"({InexactNumberRegex})\s+({DurationUnitRegex})"; + public static readonly string InexactNumberUnitRegex = $@"({InexactNumberRegex})\s+({DurationUnitRegex})|(في\s+)?((ال)?يومين|(ال)?أيام|(ال)?أسابيع|(ال)?أشهر|(ال)?سنوات|(ال)?أعوام|(ال)?سنين)\s+(العديدة|القليلة|الثلاثة|الأربعة|الخمسة|الستة|السبعة|الثمانية|التسعة|العشرة)"; public static readonly string RelativeTimeUnitRegex = $@"(?:(?:(?:{NextPrefixRegex}|{PreviousPrefixRegex}|{ThisPrefixRegex})\s+({TimeUnitRegex}))|((the|my))\s+({RestrictedTimeUnitRegex}))"; public static readonly string RelativeDurationUnitRegex = $@"(?:(?:(?<=({NextPrefixRegex}|{PreviousPrefixRegex}|{ThisPrefixRegex})\s+)({DurationUnitRegex}))|((the|my))\s+({RestrictedTimeUnitRegex}))"; public static readonly string ReferenceDatePeriodRegex = $@"\b{ReferencePrefixRegex}\s+(?week|month|year|decade|weekend)\b"; @@ -290,27 +292,27 @@ public static class DateTimeDefinitions public static readonly string ForTheRegex = $@"\b((((?<=for\s+)the\s+{FlexibleDayRegex})|((?<=on\s+)(the\s+)?{FlexibleDayRegex}(?<=(st|nd|rd|th))))(?\s*(,|\.(?!\d)|!|\?|$)))"; public static readonly string WeekDayAndDayOfMonthRegex = $@"\b{WeekDayRegex}\s+(the\s+{FlexibleDayRegex})\b"; public static readonly string WeekDayAndDayRegex = $@"\b{WeekDayRegex}\s+(?!(the)){DayRegex}(?!([-:]|(\s+({AmDescRegex}|{PmDescRegex}|{OclockRegex}))))\b"; - public const string RestOfDateRegex = @"\b(rest|remaining)\s+(of\s+)?((the|my|this|current)\s+)?(?week|month|year|decade)\b"; + public const string RestOfDateRegex = @"\b(باقي|بقية)\s+(?الشهر|العام|الأسبوع|العقد)\b"; public const string RestOfDateTimeRegex = @"\b(rest|remaining)\s+(of\s+)?((the|my|this|current)\s+)?(?day)\b"; public const string AmbiguousRangeModifierPrefix = @"(from)"; public static readonly string NumberEndingPattern = $@"^(?:\s+(?meeting|appointment|conference|((skype|teams|zoom|facetime)\s+)?call)\s+to\s+(?{PeriodHourNumRegex}|{HourRegex})([\.]?$|(\.,|,|!|\?)))"; public const string OneOnOneRegex = @"\b(1\s*:\s*1(?!\d))|(one (on )?one|one\s*-\s*one|one\s*:\s*one)\b"; - public static readonly string LaterEarlyPeriodRegex = $@"\b(({PrefixPeriodRegex})\s*\b\s*(?{OneWordPeriodRegex}|(?{BaseDateTime.FourDigitYearRegex}))|({UnspecificEndOfRangeRegex}))\b"; - public static readonly string WeekWithWeekDayRangeRegex = $@"\b((?({NextPrefixRegex}|{PreviousPrefixRegex}|this)\s+week)((\s+between\s+{WeekDayRegex}\s+and\s+{WeekDayRegex})|(\s+from\s+{WeekDayRegex}\s+to\s+{WeekDayRegex})))\b"; + public static readonly string LaterEarlyPeriodRegex = $@"(\b(({PrefixPeriodRegex})\s*\b\s*(?{OneWordPeriodRegex}|(?{BaseDateTime.FourDigitYearRegex}))|({UnspecificEndOfRangeRegex}))\b)|({PrefixPeriodRegex}\s+(من هذا|من|هذا)\s+(الشهر|الأسبوع|العام|الاسبوع)(\s+{PrefixPeriodRegex})?)"; + public static readonly string WeekWithWeekDayRangeRegex = $@"\b(?(هذا\s+)?(الأسبوع)\s+(({NextPrefixRegex}|{PreviousPrefixRegex})\s+)?)(((بين)\s+{WeekDayRegex}\s+(و)\s*{WeekDayRegex})|(من)\s+{WeekDayRegex}\s+(إلى)\s+{WeekDayRegex})\b"; public const string GeneralEndingRegex = @"^\s*((\.,)|\.|,|!|\?)?\s*$"; public const string MiddlePauseRegex = @"\s*(,)\s*"; public const string DurationConnectorRegex = @"^\s*(?\s+|و|،|,)\s*$"; public const string PrefixArticleRegex = @"\bإلى\s+"; public const string OrRegex = @"\s*((\b|,\s*)(or|and)\b|,)\s*"; - public static readonly string SpecialYearTermsRegex = $@"\b((({SpecialYearPrefixes}\s+)?year)|(cy|(?fy|sy)))"; + public static readonly string SpecialYearTermsRegex = $@"\b(((ال)?سنة|(ال)?عام)(\s+{SpecialYearPrefixes})?)"; public static readonly string YearPlusNumberRegex = $@"\b({SpecialYearTermsRegex}\s*((?(\d{{2,4}}))|{FullTextYearRegex}))\b"; public static readonly string NumberAsTimeRegex = $@"\b({WrittenTimeRegex}|{PeriodHourNumRegex}|{BaseDateTime.HourRegex})\b"; public static readonly string TimeBeforeAfterRegex = $@"\b(((?<=\b(ب|((قبل|في موعد لا يتجاوز| بعد)\s))(وقت\s+)?)({WrittenTimeRegex}|{HourNumRegex}|{BaseDateTime.HourRegex}|{MidTimeRegex}))|{MidTimeRegex})\b"; public const string DateNumberConnectorRegex = @"^\s*(?\s+at)\s*$"; - public const string DecadeRegex = @"(?(?:nough|twen|thir|fou?r|fif|six|seven|eight|nine)ties|two\s+thousands)"; - public static readonly string DecadeWithCenturyRegex = $@"(the\s+)?(((?\d|1\d|2\d)?(')?(?\d0)(')?(\s)?s\b)|(({CenturyRegex}(\s+|-)(and\s+)?)?{DecadeRegex})|({CenturyRegex}(\s+|-)(and\s+)?(?tens|hundreds)))"; - public static readonly string RelativeDecadeRegex = $@"\b((the\s+)?{RelativeRegex}\s+((?[\w,]+)\s+)?decades?)\b"; - public static readonly string YearPeriodRegex = $@"((((from|during|in)\s+)?{YearRegex}\s*({TillRegex})\s*{YearRegex})|(((between)\s+){YearRegex}\s*({RangeConnectorRegex})\s*{YearRegex}))"; + public const string DecadeRegex = @"(?(ال)?عشرات|(ال)?عشرينيات|(ال)?عشرينات|(ال)?ثلاثينات|(ال)?أربعينيات|(ال)?أربعينات|(ال)?خمسينيات|(ال)?خمسينات|(ال)?ستينات|(ال)?سبعينيات|(ال)?سبعينات|(ال)?ثمانينات|(ال)?تسعينات|الألفين|ألفين)"; + public static readonly string DecadeWithCenturyRegex = $@"({DecadeRegex})((\s+القرن(\s+(الثماني عشر|التاسع عشر)))|(\s+(و{DecadeRegex})))?"; + public static readonly string RelativeDecadeRegex = $@"\b(?(الثلاثة|الأربعة|الخمسة|الستة|السبعة|الثمانية|التسعة|العشر|\d+)\s+)?((ال)?عقدين|(ال)?عقد|(ال)?عقود)\s+(الماضيين|الماضية|الماضي|القادمين|القادمة|القادم)\b"; + public static readonly string YearPeriodRegex = $@"(((من|بين)\s+)?{YearRegex}\s*({TillRegex}|{RangeConnectorRegex})\s*{YearRegex})"; public static readonly string StrictTillRegex = $@"(?\b(to|(un)?till?|thru|through)\b|{BaseDateTime.RangeConnectorSymbolRegex}(?!\s*(h[1-2]|q[1-4])(?!(\s+of|\s*,\s*))))"; public static readonly string StrictRangeConnectorRegex = $@"(?\b(and|through|to)\b|{BaseDateTime.RangeConnectorSymbolRegex}(?!\s*(h[1-2]|q[1-4])(?!(\s+of|\s*,\s*))))"; public const string StartMiddleEndRegex = @"\b((?((the\s+)?(start|beginning)\s+of\s+)?)(?((the\s+)?middle\s+of\s+)?)(?((the\s+)?end\s+of\s+)?))"; @@ -327,6 +329,7 @@ public static class DateTimeDefinitions { @"حقبتان", @"20Y" }, { @"حقبتين", @"20Y" }, { @"سنة", @"Y" }, + { @"العام", @"Y" }, { @"عام", @"Y" }, { @"سنوات", @"Y" }, { @"أعوام", @"Y" }, @@ -334,6 +337,7 @@ public static class DateTimeDefinitions { @"سنتان", @"2Y" }, { @"سنتين", @"2Y" }, { @"عامين", @"2Y" }, + { @"الشهر", @"MON" }, { @"شهر", @"MON" }, { @"أشهر", @"MON" }, { @"شهور", @"MON" }, @@ -383,6 +387,7 @@ public static class DateTimeDefinitions { @"قرنان", 630720000 }, { @"حقبتان", 630720000 }, { @"سنة", 31536000 }, + { @"العام", 31536000 }, { @"عام", 31536000 }, { @"سنوات", 31536000 }, { @"أعوام", 31536000 }, @@ -390,6 +395,7 @@ public static class DateTimeDefinitions { @"سنتان", 63072000 }, { @"سنتين", 63072000 }, { @"عامين", 63072000 }, + { @"الشهر", 2592000 }, { @"شهر", 2592000 }, { @"أشهر", 2592000 }, { @"شهور", 2592000 }, @@ -431,11 +437,14 @@ public static class DateTimeDefinitions }; public static readonly Dictionary SeasonMap = new Dictionary { - { @"spring", @"SP" }, - { @"summer", @"SU" }, - { @"fall", @"FA" }, - { @"autumn", @"FA" }, - { @"winter", @"WI" } + { @"الربيع", @"SP" }, + { @"ربيع", @"SP" }, + { @"الصيف", @"SU" }, + { @"صيف", @"SU" }, + { @"الخريف", @"FA" }, + { @"خريف", @"FA" }, + { @"الشتاء", @"WI" }, + { @"شتاء", @"WI" } }; public static readonly Dictionary SeasonValueMap = new Dictionary { @@ -446,16 +455,11 @@ public static class DateTimeDefinitions }; public static readonly Dictionary CardinalMap = new Dictionary { - { @"first", 1 }, - { @"1st", 1 }, - { @"second", 2 }, - { @"2nd", 2 }, - { @"third", 3 }, - { @"3rd", 3 }, - { @"fourth", 4 }, - { @"4th", 4 }, - { @"fifth", 5 }, - { @"5th", 5 } + { @"الأول", 1 }, + { @"الثاني", 2 }, + { @"الثالث", 3 }, + { @"الرابع", 4 }, + { @"الخامس", 5 } }; public static readonly Dictionary DayOfWeek = new Dictionary { @@ -895,7 +899,7 @@ public static class DateTimeDefinitions }; public static readonly IList LastCardinalTerms = new List { - @"last" + @"الأخير" }; public static readonly IList MonthTerms = new List { diff --git a/.NET/Microsoft.Recognizers.Definitions.Common/Arabic/NumbersDefinitions.cs b/.NET/Microsoft.Recognizers.Definitions.Common/Arabic/NumbersDefinitions.cs index e075ae7780..292db1a45b 100644 --- a/.NET/Microsoft.Recognizers.Definitions.Common/Arabic/NumbersDefinitions.cs +++ b/.NET/Microsoft.Recognizers.Definitions.Common/Arabic/NumbersDefinitions.cs @@ -443,6 +443,7 @@ public static class NumbersDefinitions { @"القبل الأخير", @"-1" }, { @"قبلا الأخي", @"-1" }, { @"التالي", @"1" }, + { @"بعد التالي", @"2" }, { @"قادم", @"1" }, { @"قادمة", @"1" }, { @"القادم", @"1" }, @@ -482,6 +483,7 @@ public static class NumbersDefinitions { @"القبل الأخير", @"current" }, { @"الذي قبلا الأخي", @"end" }, { @"التالي", @"current" }, + { @"بعد التالي", @"current" }, { @"قادم", @"current" }, { @"قادمة", @"current" }, { @"القادم", @"current" }, diff --git a/Patterns/Arabic/Arabic-DateTime.yaml b/Patterns/Arabic/Arabic-DateTime.yaml index 3bca35bdb6..4e87c8b584 100644 --- a/Patterns/Arabic/Arabic-DateTime.yaml +++ b/Patterns/Arabic/Arabic-DateTime.yaml @@ -3,7 +3,7 @@ LangMarker: Ara CheckBothBeforeAfter: !bool false TillRegex: !nestedRegex - def: (?\b(إلى|حتى|خلال|عبر)\b|{BaseDateTime.RangeConnectorSymbolRegex}) + def: (?\b(إلى|حتى يوم|حتى|خلال|عبر)\b|{BaseDateTime.RangeConnectorSymbolRegex}) references: [ BaseDateTime.RangeConnectorSymbolRegex ] RangeConnectorRegex: !nestedRegex def: (?و|خلال|عبر|{BaseDateTime.RangeConnectorSymbolRegex}) @@ -12,7 +12,7 @@ RangeConnectorRegex: !nestedRegex LastNegPrefix: !simpleRegex def: (?القادم|التالي|الآتي|الحالي|الماضي|المقبل|الحاضر|السابق|الأخير)\b + def: \b(?القادم|التالي|الآتي|الحالي|الماضي|المقبل|الحاضر|السابق|الأخير)\b references: [ LastNegPrefix ] StrictRelativeRegex: !nestedRegex def: \b(?القادم|التالي|الآتي|هذا|الحالي|الماضي|السابق|الأخير)\b @@ -43,7 +43,7 @@ CenturySuffixRegex: !simpleRegex ReferencePrefixRegex: !simpleRegex def: (ذلك|نفس|هذا)\b FutureSuffixRegex: !simpleRegex - def: \b(in\s+the\s+)?(future|hence)\b + def: \b(الحالي(ة)|القادم(ة)|في المستقبل|التالي(ة)|الآتي(ة)|المقبلين|المقبل(ة))\b DayRegex: !simpleRegex def: (?(?:3[0-1]|[1-2]\d|0?[1-9])) ImplicitDayRegex: !simpleRegex @@ -51,19 +51,20 @@ ImplicitDayRegex: !simpleRegex MonthNumRegex: !simpleRegex def: (?1[0-2]|(0)?[1-9])\b WrittenOneToNineRegex: !simpleRegex - def: (?:واحد|اثنان |ثلاثة |أربعة |خمسة |ستة |سبعة|ثمانية| تسعة) + def: (?:واحد|اثنان|ثلاثة|أربعة|خمسة|ستة|سبعة|ثمانية|تسعة) WrittenElevenToNineteenRegex: !simpleRegex - def: (إحدى عشر|إثنى عشر|ثلاثة عشر|أربعة عشر|خمسة عشر|ستة عشر|سبعة عشر||ثمانية عشر||تسعة عشر) + def: (إحدى عشر|إثنى عشر|ثلاثة عشر|أربعة عشر|خمسة عشر|ستة عشر|سبعة عشر|ثمانية عشر|تسعة عشر) WrittenTensRegex: !simpleRegex - def: (عشرون|ثلاثون|أربعون|خمسون|ستون|سبعون|ثمانون|تسعون) + def: (عشر[وي]ن|ثلاث[وي]ن|أربع[وي]ن|خمس[وي]ن|ست[وي]ن|سبع[وي]ن|ثمان[وي]ن|تسع[وي]ن) WrittenNumRegex: !nestedRegex def: (?:{WrittenOneToNineRegex}|{WrittenElevenToNineteenRegex}|{WrittenTensRegex}(\s+{WrittenOneToNineRegex})?) references: [ WrittenOneToNineRegex, WrittenElevenToNineteenRegex, WrittenTensRegex ] WrittenCenturyFullYearRegex: !nestedRegex - def: (?(واحد|اثنان)?\s*((,\s+|،\s+)?(ألفين|ألفان|ألف))(\s+و)?(\s*(ثلاث|أربع|خمس|ست|سبع|ثمان|تسع)\s*(مائة|مئتان)(\s+و)?)?)\s*(?({WrittenElevenToNineteenRegex})|(({WrittenOneToNineRegex})?(\s+و\s*)?)({WrittenTensRegex})?)? + def: (?(واحد|اثنان\s*)?((,\s+|،\s+)?(الألفين|ألفين|ألفان|ألف))(\s+و)?(\s*(ثلاث|أربع|خمس|ست|سبع|ثمان|تسع)\s*(مائة|مئتان)(\s+و)?)?)(?({WrittenElevenToNineteenRegex})|(({WrittenOneToNineRegex})?(\s+و\s*)?)({WrittenTensRegex})?)? references: [ WrittenElevenToNineteenRegex, WrittenOneToNineRegex, WrittenTensRegex] -WrittenCenturyOrdinalYearRegex: !simpleRegex - def: (?:twenty(\s+(one|two))?|ten|eleven|twelve|thirteen|fifteen|eigthteen|(?:four|six|seven|nine)(teen)?|one|two|three|five|eight) +WrittenCenturyOrdinalYearRegex: !nestedRegex + def: (?({WrittenElevenToNineteenRegex}|مائة|مائتين)\s+((و)\s*)?({WrittenOneToNineRegex})\s+(و)\s*{WrittenTensRegex}) + references: [WrittenElevenToNineteenRegex, WrittenOneToNineRegex, WrittenTensRegex ] CenturyRegex: !nestedRegex def: \b(?{WrittenCenturyFullYearRegex}|{WrittenCenturyOrdinalYearRegex}(\s*مائة)?(\s*و)?)\b references: [WrittenCenturyFullYearRegex, WrittenCenturyOrdinalYearRegex ] @@ -71,7 +72,7 @@ LastTwoYearNumRegex: !nestedRegex def: (?:zero\s+{WrittenOneToNineRegex}|{WrittenElevenToNineteenRegex}|{WrittenTensRegex}(\s+{WrittenOneToNineRegex})?) references: [ WrittenOneToNineRegex, WrittenElevenToNineteenRegex, WrittenTensRegex ] FullTextYearRegex: !nestedRegex - def: \b((?{CenturyRegex})\s*(?{LastTwoYearNumRegex})\b|\b(?{WrittenCenturyFullYearRegex}|{WrittenCenturyOrdinalYearRegex}\s*مائة(\s*و)?))\b + def: (?{CenturyRegex})\s*(?{LastTwoYearNumRegex})|(?{WrittenCenturyFullYearRegex})|{WrittenCenturyOrdinalYearRegex} references: [ CenturyRegex, WrittenCenturyFullYearRegex, WrittenCenturyOrdinalYearRegex, LastTwoYearNumRegex ] OclockRegex: !simpleRegex def: (?(ال)?ساعة|(ال)?ساعات) @@ -113,7 +114,7 @@ MonthSuffixRegex: !nestedRegex def: (?(?:(in|of|on)\s+)?({RelativeMonthRegex}|{WrittenMonthRegex})) references: [ RelativeMonthRegex, WrittenMonthRegex ] DateUnitRegex: !simpleRegex - def: (?(ال)?يوم(ا)?|(ال)?أسبوع(ا)?|(ال)?شهر(ا)?|(ال)?سنة|(ال)?عام(ا)?|(ال)?قرن|(ال)?حقبة|(ال)?يومان|(ال)?أسبوعان|(ال)?شهران|(ال)?سنتان|(ال)?عامان|(ال)?قرنان|(ال)?حقبتان|(ال)?يومين|(ال)?أسبوعين|(ال)?شهرين|(ال)?سنتين|(ال)?عامين|(ال)?قرنين|(ال)?حقبتين|(ال)?أيام|(ال)?أشهر|(ال)?سنوات|(ال)?سنين|(ال)?أعوام|(ال)?حقبات|(ال)?قرون|نهاية الأسبوع|(?<=\s+\d{1,4})[ymwd])\b + def: (?(ال)?يوم(ا)?|(ال)?أسبوع(ا)?|(ال)?شهر(ا)?|(ال)?سنة|(ال)?عام(ا)?|(ال)?قرن|(ال)?حقبة|(ال)?يومان|(ال)?أسبوعان|(ال)?شهران|(ال)?سنتان|(ال)?عامان|(ال)?قرنان|(ال)?حقبتان|(ال)?يومين|(ال)?أسبوعين|(ال)?شهرين|(ال)?سنتين|(ال)?عامين|(ال)?قرنين|(ال)?حقبتين|(ال)?أيام|الأسابيع|(ال)?أشهر|(ال)?سنوات|(ال)?سنين|(ال)?أعوام|(ال)?حقبات|(ال)?قرون|نهاية الأسبوع|(?<=\s+\d{1,4})[ymwd])\b DateTokenPrefix: 'في ' TimeTokenPrefix: 'عند ' TokenBeforeDate: 'في ' @@ -134,34 +135,39 @@ FromRegex: !simpleRegex def: \b(from(\s+the)?)$ BetweenTokenRegex: !simpleRegex def: \b(between(\s+the)?)$ +OrdinalNumberRegex: !simpleRegex + def: ((ال)?حادي عشر|ل(ال)?ثاني عشر|(ال)?ثالث عشر|(ال)?رابع عشر|(ال)?خامس عشر|(ال)?خمسة عشر|(ال)?سادس عشر|(ال)?سابع عشر|(ال)?ثامن عشر|(ال)?تاسع عشر|(ال)?عشرون|(ال)?عشرين|(ال)?حادي والعشرون|(ال)?حادية والعشرين|(ال)?حادي والعشرين|(ال)?ثاني والعشرون|(ال)?ثانية والعشرين|(ال)?ثالث والعشرون|(ال)?رابع والعشرون|(ال)?خامس والعشرون|(ال)?سادس والعشرون|(ال)?تاسع والعشرون|(ال)?سابع والعشرون|(ال)?رابع والعشرون|الثامن|الأول|الثالث|الرابع|الخامس|السادس|الثاني|العاشر|السابع) +SimpleCasePreMonthRegex: !nestedRegex + def: ((بين|من)\s+)(({DayRegex}-{DayRegex})\s+)((من|في)\s+)?((الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})\s+)({RelativeRegex})?({YearRegex})? + references: [ DayRegex, SolarMonthRegex, LunarMonthRegex, ArabicMonthRegex, RelativeRegex, YearRegex ] SimpleCasesRegex: !nestedRegex - def: \b({RangePrefixRegex}\s+)?({DayRegex})\s*{TillRegex}\s*({DayRegex}\s+{MonthSuffixRegex}|{MonthSuffixRegex}\s+{DayRegex})((\s+|\s*,\s*){YearRegex})?\b - references: [ DayRegex, TillRegex, MonthSuffixRegex, YearRegex, RangePrefixRegex ] + def: (((من)\s+)?(({DayRegex}|{OrdinalNumberRegex})\s+)((الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})\s+)?((حتى|إلى)\s*)(({DayRegex}|{OrdinalNumberRegex})\s+)((من هذا|من|هذا|في)\s+)?(الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})?(\s+({RelativeRegex}))?(\s+{YearRegex})?)|({SimpleCasePreMonthRegex}) + references: [ DayRegex, OrdinalNumberRegex, SolarMonthRegex, LunarMonthRegex, ArabicMonthRegex, RelativeRegex, YearRegex, SimpleCasePreMonthRegex ] MonthFrontSimpleCasesRegex: !nestedRegex - def: \b({RangePrefixRegex}\s+)?{MonthSuffixRegex}\s+((from)\s+)?({DayRegex})\s*{TillRegex}\s*({DayRegex})((\s+|\s*,\s*){YearRegex})?\b - references: [ MonthSuffixRegex, DayRegex, TillRegex, YearRegex, RangePrefixRegex ] + def: (((شهر\s+)?{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})\s+(بين|من)\s+({DayRegex}|{OrdinalNumberRegex})\s+[و]\s*({DayRegex}|{OrdinalNumberRegex}))|({DayRegex}\s*[-\./]\s*{DayRegex}\s+{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex}) + references: [ SolarMonthRegex, LunarMonthRegex, ArabicMonthRegex, DayRegex, OrdinalNumberRegex ] MonthFrontBetweenRegex: !nestedRegex def: \b{MonthSuffixRegex}\s+(between\s+)({DayRegex})\s*{RangeConnectorRegex}\s*({DayRegex})((\s+|\s*,\s*){YearRegex})?\b references: [ MonthSuffixRegex, DayRegex, RangeConnectorRegex , YearRegex ] BetweenRegex: !nestedRegex - def: \b(between\s+)({DayRegex})\s*{RangeConnectorRegex}\s*({DayRegex})\s+{MonthSuffixRegex}((\s+|\s*,\s*){YearRegex})?\b - references: [ DayRegex, RangeConnectorRegex , MonthSuffixRegex, YearRegex ] + def: ((بين|من)\s+)(({DayRegex}|{OrdinalNumberRegex})\s*)((الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})\s+)?((حتى|إلى|و|-)\s*)(({DayRegex}|{OrdinalNumberRegex})\s+)((من هذا|من|هذا|في)\s+)?(الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})?(\s*([,،-])\s*)?(\s*({RelativeRegex}))?(\s+{YearRegex})? + references: [ DayRegex, OrdinalNumberRegex , SolarMonthRegex, LunarMonthRegex, ArabicMonthRegex, RelativeRegex, YearRegex ] MonthWithYear: !nestedRegex - def: \b(({WrittenMonthRegex}[\.]?(\s*)[/\\\-\.,]?(\s+(of|in))?(\s*)({YearRegex}|(?following|next|last|this)\s+year))|(({YearRegex}|(?following|next|last|this)\s+year)(\s*),?(\s*){WrittenMonthRegex}))\b - references: [ WrittenMonthRegex, YearRegex ] + def: ((هذا\s+)?(شهر\s+)?({SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})[\.]?(\s*)[/\\\-\.,]?(\s*(من عام|من|في|عام))?(\s*)({YearRegex}))|(({SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})\s+(هذا\s+)?((عام|العام)\s+)?({RelativeRegex})?) + references: [ SolarMonthRegex, LunarMonthRegex, ArabicMonthRegex, YearRegex, RelativeRegex ] SpecialYearPrefixes: !simpleRegex - def: (calendar|(?fiscal|school)) + def: (التقويمي(ة)?|(?المالي(ة)?|الدراسي(ة)?)) OneWordPeriodRegex: !nestedRegex - def: \b((((the\s+)?month of\s+)?({StrictRelativeRegex}\s+)?(?apr(il)?|aug(ust)?|dec(ember)?|feb(ruary)?|jan(uary)?|july?|june?|mar(ch)?|may|nov(ember)?|oct(ober)?|sept(ember)?|sept?))|(month|year) to date|(?((un)?till?|to)\s+date)|({RelativeRegex}\s+)?(my\s+)?((?working\s+week|workweek)|week(end)?|month|(({SpecialYearPrefixes}\s+)?year))(?!((\s+of)?\s+\d+(?!({BaseDateTime.BaseAmDescRegex}|{BaseDateTime.BasePmDescRegex}))|\s+to\s+date))(\s+{AfterNextSuffixRegex})?)\b - references: [ StrictRelativeRegex, RelativeRegex, AfterNextSuffixRegex, SpecialYearPrefixes, BaseDateTime.BaseAmDescRegex, BaseDateTime.BasePmDescRegex ] + def: ((بعد|في|آخر)\s+(\d+\s+)?((ال)?سنوات|(ال)?أعوام|(ال)?سنين|(ال)?أسابيع|(ال)?أشهر|(ال)?أيام))(\s+\d+)?(\s+{FutureSuffixRegex})?|((هذا\s+)?(شهر\s+)?(الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})(\s+{RelativeRegex})?)|((هذا\s+)?((عطلة|خلال)\s+)?((نهاية\s+)?({ArabicWeekRegex}|العام)\s*)((بعد\s+)?{RelativeRegex})?) + references: [ FutureSuffixRegex, SolarMonthRegex, LunarMonthRegex, ArabicMonthRegex, RelativeRegex, ArabicWeekRegex] MonthNumWithYear: !nestedRegex def: \b(({BaseDateTime.FourDigitYearRegex}(\s*)[/\-\.](\s*){MonthNumRegex})|({MonthNumRegex}(\s*)[/\-](\s*){BaseDateTime.FourDigitYearRegex}))\b references: [ BaseDateTime.FourDigitYearRegex, MonthNumRegex ] WeekOfMonthRegex: !nestedRegex - def: \b(?(the\s+)?(?first|1st|second|2nd|third|3rd|fourth|4th|fifth|5th|last)\s+week\s+{MonthSuffixRegex}(\s+{BaseDateTime.FourDigitYearRegex}|{RelativeRegex}\s+year)?)\b - references: [ MonthSuffixRegex, BaseDateTime.FourDigitYearRegex, RelativeRegex ] + def: (\b(?(الأسبوع)\s+((?الأول|الثاني|الثالث|الرابع|الخامس|الأخير)\s+)((من هذا|هذا|من)\s+)?(شهر\s+)?(الشهر|{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})[,]?(\s+{YearRegex})?)\b)|(((الأسبوع|أسبوع)\s+)(في\s+)?{DayRegex}\s+({SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex})) + references: [ SolarMonthRegex, LunarMonthRegex, ArabicMonthRegex, YearRegex, DayRegex ] WeekOfYearRegex: !nestedRegex - def: \b(?(the\s+)?(?first|1st|second|2nd|third|3rd|fourth|4th|fifth|5th|last)\s+week(\s+of)?\s+({YearRegex}|{RelativeRegex}\s+year))\b + def: (?(الأسبوع)\s+(?الأول|الثاني|الثالث|الرابع|الخامس|الأخير)\s+((من هذا|هذا|من)\s+)?(العام|من عام|عام)\s*({YearRegex}|{RelativeRegex})?) references: [ YearRegex, RelativeRegex ] FollowedDateUnit: !nestedRegex def: ^\s*{DateUnitRegex} @@ -170,13 +176,13 @@ NumberCombinedWithDateUnit: !nestedRegex def: \b(?\d+(\.\d*)?)(\s)?(-)?{DateUnitRegex} references: [ DateUnitRegex ] QuarterTermRegex: !simpleRegex - def: \b(((?first|1st|second|2nd|third|3rd|fourth|4th)[ -]+quarter)|(q(?[1-4])))\b + def: (الربع[- ]+(?الأول|الثاني|الثالث|الرابع)) RelativeQuarterTermRegex: !nestedRegex - def: \b(?{StrictRelativeRegex})\s+quarter\b + def: \b(الربع)\s+(?{StrictRelativeRegex})\b references: [ StrictRelativeRegex ] QuarterRegex: !nestedRegex - def: ((the\s+)?{QuarterTermRegex}(?:((\s+of)?\s+|\s*[,-]\s*)({YearRegex}|{RelativeRegex}\s+year))?)|{RelativeQuarterTermRegex} - references: [ YearRegex, RelativeRegex, QuarterTermRegex, RelativeQuarterTermRegex ] + def: ({YearRegex}\s+)?({QuarterTermRegex})(((\s+(من عام|من))?\s+({YearRegex}))|(\s+(هذا|من هذا|)\s+العام))? + references: [ YearRegex, QuarterTermRegex ] QuarterRegexYearFront: !nestedRegex def: (?:{YearRegex}|{RelativeRegex}\s+year)('s)?(?:\s*-\s*|\s+(the\s+)?)?{QuarterTermRegex} references: [ YearRegex, RelativeRegex, QuarterTermRegex ] @@ -195,33 +201,33 @@ AllHalfYearRegex: !nestedRegex def: ({HalfYearFrontRegex})|({HalfYearBackRegex})|({HalfYearRelativeRegex}) references: [ HalfYearFrontRegex, HalfYearBackRegex, HalfYearRelativeRegex ] EarlyPrefixRegex: !simpleRegex - def: \b(?early|beginning of|start of|(?earlier(\s+in)?))\b + def: \b(?بداية|مطلع|وقت مبكر|(?قبل))\b MidPrefixRegex: !simpleRegex - def: \b(?mid-?|middle of)\b + def: \b(?في منتصف|منتصف)\b LaterPrefixRegex: !simpleRegex - def: \b(?late|end of|(?later(\s+in)?))\b + def: \b(?نهاية|باقي|بقية|أواخر|(?في وقت لاحق|لاحقا في|بعد))\b PrefixPeriodRegex: !nestedRegex - def: ({EarlyPrefixRegex}|{MidPrefixRegex}|{LaterPrefixRegex}) - references: [EarlyPrefixRegex, MidPrefixRegex, LaterPrefixRegex] + def: ({EarlyPrefixRegex}|{MidPrefixRegex}|{LaterPrefixRegex}|{RelativeRegex}) + references: [EarlyPrefixRegex, MidPrefixRegex, LaterPrefixRegex, RelativeRegex] PrefixDayRegex: !simpleRegex def: \b((?early)|(?mid(dle)?)|(?later?))(\s+in)?(\s+the\s+day)?$ SeasonDescRegex: !simpleRegex - def: (?spring|summer|fall|autumn|winter) + def: (?(ال)?ربيع|(ال)?صيف|(ال)?خريف|(ال)?شتاء) SeasonRegex: !nestedRegex - def: \b(?({PrefixPeriodRegex}\s+)?({RelativeRegex}\s+)?{SeasonDescRegex}((\s+of|\s*,\s*)?\s+({YearRegex}|{RelativeRegex}\s+year))?)\b - references: [ YearRegex, RelativeRegex, SeasonDescRegex, PrefixPeriodRegex ] + def: \b(?(هذا\s+)?(منتصف\s+)?(({SeasonDescRegex})(\s+{PrefixPeriodRegex})?(\s*عام\s*)?(\s*{YearRegex})?))\b + references: [ SeasonDescRegex, PrefixPeriodRegex, YearRegex ] WhichWeekRegex: !simpleRegex def: \b(week)(\s*)(?5[0-3]|[1-4]\d|0?[1-9])\b WeekOfRegex: !simpleRegex def: (the\s+)?((week)(\s+(of|(commencing|starting|beginning)(\s+on)?))|w/c)(\s+the)? MonthOfRegex: !simpleRegex - def: (month)(\s*)(of) + def: (من)(\s*)(شهر) SolarMonthRegex: !simpleRegex - def: (?يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر) + def: (?يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر) LunarMonthRegex: !simpleRegex - def: (?محرم|صفر|ربيع الأول|ربيع الثاني|جمادى الأول|جمادى الثاني|رجب|شعبان|رمضان|شوال|ذو القعدة|ذو الحجة) + def: (?محرم|صفر|ربيع الأول|ربيع الثاني|جمادى الأول|جمادى الثاني|رجب|شعبان|رمضان|شوال|ذو القعدة|ذو الحجة) ArabicMonthRegex: !simpleRegex - def: (?كانون الثاني|شباط|آذار|نيسان|حزيران|تموز|آب|أيلول|تشرين الأول|تشرين الثاني|كانون الأول|أيار) + def: (?كانون الثاني|شباط|آذار|نيسان|حزيران|تموز|آب|أيلول|تشرين الأول|تشرين الثاني|كانون الأول|أيار) MonthRegex: !nestedRegex def: (?{SolarMonthRegex}|{LunarMonthRegex}|{ArabicMonthRegex}) references: [ SolarMonthRegex, LunarMonthRegex, ArabicMonthRegex ] @@ -237,7 +243,7 @@ OnRegex: !nestedRegex def: (?<=\bفي\s+){DayRegex}\b references: [ DayRegex ] OrdinalDayOfMonthRegex: !simpleRegex - def: (?=يوم\s+)?(الأحد|الإثنين|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)\s+(في\s+)((?:3[0-1]|[1-2]\d|0?[1-9])|((ال)?حادي عشر|ل(ال)?ثاني عشر|(ال)?ثالث عشر|(ال)?رابع عشر|(ال)?خامس عشر|(ال)?خمسة عشر|(ال)?سادس عشر|(ال)?سابع عشر|(ال)?ثامن عشر|(ال)?تاسع عشر|(ال)?عشرون|(ال)?حادي والعشرون|(ال)?حادية والعشرين|(ال)?حادي والعشرين|(ال)?ثاني والعشرون|(ال)?ثانية والعشرين|(ال)?ثالث والعشرون|(ال)?رابع والعشرون|(ال)?خامس والعشرون|(ال)?سادس والعشرون|(ال)?تاسع والعشرون|(ال)?سابع والعشرون|(ال)?رابع والعشرون|الثامن|الأول|الثالث|الرابع|الخامس|السادس|الثاني|العاشر|السابع)) + def: (?=يوم\s+)?(الأحد|الإثنين|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)\s+(في\s+)((?:3[0-1]|[1-2]\d|0?[1-9])|((ال)?حادي عشر|ل(ال)?ثاني عشر|(ال)?ثالث عشر|(ال)?رابع عشر|(ال)?خامس عشر|(ال)?خمسة عشر|(ال)?سادس عشر|(ال)?سابع عشر|(ال)?ثامن عشر|(ال)?تاسع عشر|(ال)?عشرون|(ال)?عشرين|(ال)?حادي والعشرون|(ال)?حادية والعشرين|(ال)?حادي والعشرين|(ال)?ثاني والعشرون|(ال)?ثانية والعشرين|(ال)?ثالث والعشرون|(ال)?رابع والعشرون|(ال)?خامس والعشرون|(ال)?سادس والعشرون|(ال)?تاسع والعشرون|(ال)?سابع والعشرون|(ال)?رابع والعشرون|الثامن|الأول|الثالث|الرابع|الخامس|السادس|الثاني|العاشر|السابع)) WeekDayofMonthRegex: !simpleRegex def: (?=يوم\s+)?(الأحد|الإثنين|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)\s+(في\s+)?((?:3[0-1]|[1-2]\d|0?[1-9])|(الأول|الثاني|الثالث|الرابع|الخامس)) RelaxedOnRegex: !nestedRegex @@ -246,7 +252,7 @@ RelaxedOnRegex: !nestedRegex PrefixWeekDayRegex: !simpleRegex def: (\s*((,?\s*on)|[-—–])) ArabicWeekRegex: !simpleRegex - def: (?الأسبوعين|الاسبوعين|أسابيع|الاسبوع|الأسبوع|أسبوع|أسبوعين|الاسابيع|الأسابيع) + def: (?الأسبوعين|الاسبوعين|أسابيع|الاسبوع|الأسبوع|الإسبوع|أسبوعين|أسبوعي|اسبوعين|اسبوعي|أسبوع|الاسابيع|الأسابيع) ThisRegex: !nestedRegex def: (?=يوم\s+)?({WeekDayRegex})(\s+)?(من|هذا|)(\s+)?(هذا)?(\s+)({ArabicWeekRegex})((\s+)({RelativeRegex}))? references: [ WeekDayRegex, ArabicWeekRegex, RelativeRegex ] @@ -258,8 +264,9 @@ LastWeekDateRegex: !nestedRegex references: [ ArabicWeekRegex, WeekDayRegex ] LastMonthYearDateRegex: !simpleRegex def: (قبل\s+)(\d+ )?((بضعة|بضع|عدة)\s+)?(سنتين|شهرين|الشهور|أشهر|اشهر|شهر|الشهر|أيام|عامين|عام|أعوام|سنة|سنين|سنوات) -SpecificDayRegex: !simpleRegex - def: ((قبل|بعد)\s+)?((اليوم|يوم)\s+)?(((?<=ب)الأمس|أمس|الأمس|البارحة)|(آخر يوم|الماضي|السابق|الأخير|يومين)) +SpecificDayRegex: !nestedRegex + def: ((قبل|بعد)\s+)?((اليوم|يوم)\s+)?(((?<=ب)الأمس|أمس|الأمس|البارحة)|(آخر يوم|الماضي|السابق|الأخير|يومين)|({DayRegex}\s+{MonthRegex})) + references: [ DayRegex, MonthRegex ] LastDateRegex: !nestedRegex def: ({LastDayDateRegex}|{LastWeekDateRegex}) references: [ LastDayDateRegex, LastWeekDateRegex, ] @@ -269,8 +276,8 @@ NextDayRegex: !nestedRegex def: (هذا يوم\s+|بعد\s+)?(?=(ال)?يوم\s+)?({WeekDayRegex})((\s+)({NextRegex}))? references: [ WeekDayRegex, NextRegex ] NextWeekDayRegex: !nestedRegex - def: ((بعد )|(في هذا ?=)|(هذا ?=))?((ال|لل|ل)?أسبوع(ين)?|{ArabicWeekRegex}|اليوم|يومي|غداً|غد|غدا)(يوم)?({ArabicWeekRegex})?(\s+{NextRegex})?(\s+{ArabicWeekRegex})? - references: [ ArabicWeekRegex, NextRegex ] + def: ((بعد )|(في هذا ?=)|(هذا ?=))?((ال|لل|ل)?أسبوع(ين)?|{ArabicWeekRegex}|اليوم|يومي|الغد|غداً|غد|غدا)(يوم)?({ArabicWeekRegex})?(\s*(الآتي|الأخير|التالي|القادم|من الآن|الحالي|المقبل|الحاضر))?(\s*{ArabicWeekRegex})? + references: [ ArabicWeekRegex ] NextWeekRegex: !nestedRegex def: (?=بعد )?(هذا )?({ArabicWeekRegex})\s*({NextRegex})?\s+?(يوم)?(\s+)?({WeekDayRegex})? references: [ ArabicWeekRegex, NextRegex, WeekDayRegex ] @@ -281,8 +288,8 @@ CardinalDayOfMonthRegex: !nestedRegex def: (((?<=في )|(إلى |لل|يوم ))((((ال)?عاشر|(ال)?حادي(ة)? والعشرين|(ال)?ثاني(ة)? والعشرين|(ال)?ثالث(ة)? والعشرين|(ال)?رابع(ة)? والعشرين|(ال)?خامس(ة)? والعشرين|(ال)?سادس(ة)? والعشرين|(ال)?سابع(ة)? والعشرين|(ال)?ثامن(ة)? والعشرين|(ال)?تاسع(ة)? والعشرين|(ال)?ثلاثين|(ال)?حادي(ة)? والثلاثين|(ال)?أول|(ال)?ثاني|(ال)?ثالث|(ال)?رابع|(ال)?خامس|(ال)?سادس|(ال)?سابع|(ال)?ثامن|(ال)?تاسع))|({DayRegex})))|((?<=يوم )({DayRegex})[\./-]\s+({MonthRegex})) references: [ DayRegex, MonthRegex ] SpecialDayRegex: !nestedRegex - def: ((ال)?يوم(\s{DayRegex}\s{MonthRegex})|{NextWeekDayRegex}|{CardinalDayOfMonthRegex}|{SpecificDayRegex}|{LastMonthYearDateRegex}) - references: [ NextWeekDayRegex, CardinalDayOfMonthRegex, SpecificDayRegex, LastMonthYearDateRegex, DayRegex, MonthRegex ] + def: ({NextWeekDayRegex}|{CardinalDayOfMonthRegex}|{SpecificDayRegex}|{LastMonthYearDateRegex}) + references: [ NextWeekDayRegex, CardinalDayOfMonthRegex, SpecificDayRegex, LastMonthYearDateRegex ] SpecialDayWithNumRegex: !nestedRegex def: \b((?{WrittenNumRegex})\s+days?\s+from\s+(?yesterday|tomorrow|tmr|today))\b references: [ WrittenNumRegex ] @@ -576,9 +583,9 @@ AnUnitRegex: !nestedRegex def: \b((?(1/2|½|نصف)))\s+{DurationUnitRegex}(\s(أخرى))? references: [ DurationUnitRegex ] DuringRegex: !simpleRegex - def: \b((((خلال|على مدى|مدة)\s)|ل)+)(?(ال)?عام(ين)?|(ال)?سنتين|(ال)?سنة|(ال)?شهر(ين)?|(ال)?أسبوع(ين)?|(ال)?يوم(ين)?)\b + def: \b((((خلال|على مدى|مدة)\s)|ل)+)(?(ال)?عام(ين)?|(ال)?سنتين|(ال)?سنة|(ال)?شهر(ين)?|الأشهر|(ال)?أسبوع(ين)?|(ال)?يوم(ين)?)\b AllRegex: !simpleRegex - def: (?(طوال\s+))?(?(ال)?عام|(ال)?سنة|(ال)?شهر|(ال)?أسبوع|(ال)?يوم)(?(\s+كامل(ة)?))? + def: (?(طوال\s+))?(?(ال)?عام|(ال)?سنة|(ال)?شهر|(ال)?أسبوع|(ال)?أسابيع|(ال)?أيام|(ال)?يوم)(?(\s+كامل(ة)?))? HalfRegex: !simpleRegex def: \b((نصف)\s+)?(?(ال)?ساعة|ساعتين|دقيقة|دقيقتين|ثانية|ثانيتين|(ال)?عام(ين)?|(ال)?سنة|(ال)?شهر(ين)?|(ال)?أسبوع(ين)?|(ال)?يوم(ين)?)(?(\s+)?(و)?نصف)?\b ConjunctionRegex: !simpleRegex @@ -587,7 +594,7 @@ ConjunctionRegex: !simpleRegex ArabicThisYearRegex: !simpleRegex def: (\s*)?(هذا|هذه)?(لعام|عام|العام|سنة)?(\s*)? ArabicEidDay: !simpleRegex - def: ?(يوم |عيد |ليلة | ليل)?(?=\s*) + def: ?(يوم |عيد |ليلة | ليل)?(?=\s*) HolidayList1: !nestedRegex def: ((?=\s*){ArabicEidDay}(إثنين الرماد|رأس السنة الهجرية|الحج|يواندان|الفطر|رأس السنة الجديدة|الأضحى|الأب|الشكر|عيد الميلاد|المولد النبوي|الفصح)(){ArabicThisYearRegex}(العام|السنة)?({YearRegex})?({RelativeRegex})?) references: [ ArabicEidDay, ArabicThisYearRegex, YearRegex, RelativeRegex ] @@ -659,7 +666,7 @@ NightStartEndRegex: !simpleRegex InexactNumberRegex: !simpleRegex def: بضع(ة)?|عدة|(?((ل))?عدد(\s+من)?) InexactNumberUnitRegex: !nestedRegex - def: ({InexactNumberRegex})\s+({DurationUnitRegex}) + def: ({InexactNumberRegex})\s+({DurationUnitRegex})|(في\s+)?((ال)?يومين|(ال)?أيام|(ال)?أسابيع|(ال)?أشهر|(ال)?سنوات|(ال)?أعوام|(ال)?سنين)\s+(العديدة|القليلة|الثلاثة|الأربعة|الخمسة|الستة|السبعة|الثمانية|التسعة|العشرة) references: [InexactNumberRegex, DurationUnitRegex] RelativeTimeUnitRegex: !nestedRegex def: (?:(?:(?:{NextPrefixRegex}|{PreviousPrefixRegex}|{ThisPrefixRegex})\s+({TimeUnitRegex}))|((the|my))\s+({RestrictedTimeUnitRegex})) @@ -695,7 +702,7 @@ WeekDayAndDayRegex: !nestedRegex def: \b{WeekDayRegex}\s+(?!(the)){DayRegex}(?!([-:]|(\s+({AmDescRegex}|{PmDescRegex}|{OclockRegex}))))\b references: [WeekDayRegex, DayRegex, AmDescRegex, PmDescRegex, OclockRegex] RestOfDateRegex: !simpleRegex - def: \b(rest|remaining)\s+(of\s+)?((the|my|this|current)\s+)?(?week|month|year|decade)\b + def: \b(باقي|بقية)\s+(?الشهر|العام|الأسبوع|العقد)\b RestOfDateTimeRegex: !simpleRegex def: \b(rest|remaining)\s+(of\s+)?((the|my|this|current)\s+)?(?day)\b AmbiguousRangeModifierPrefix: !simpleRegex @@ -706,10 +713,10 @@ NumberEndingPattern: !nestedRegex OneOnOneRegex: !simpleRegex def: \b(1\s*:\s*1(?!\d))|(one (on )?one|one\s*-\s*one|one\s*:\s*one)\b LaterEarlyPeriodRegex: !nestedRegex - def: \b(({PrefixPeriodRegex})\s*\b\s*(?{OneWordPeriodRegex}|(?{BaseDateTime.FourDigitYearRegex}))|({UnspecificEndOfRangeRegex}))\b + def: (\b(({PrefixPeriodRegex})\s*\b\s*(?{OneWordPeriodRegex}|(?{BaseDateTime.FourDigitYearRegex}))|({UnspecificEndOfRangeRegex}))\b)|({PrefixPeriodRegex}\s+(من هذا|من|هذا)\s+(الشهر|الأسبوع|العام|الاسبوع)(\s+{PrefixPeriodRegex})?) references: [PrefixPeriodRegex, OneWordPeriodRegex, BaseDateTime.FourDigitYearRegex, UnspecificEndOfRangeRegex] WeekWithWeekDayRangeRegex: !nestedRegex - def: \b((?({NextPrefixRegex}|{PreviousPrefixRegex}|this)\s+week)((\s+between\s+{WeekDayRegex}\s+and\s+{WeekDayRegex})|(\s+from\s+{WeekDayRegex}\s+to\s+{WeekDayRegex})))\b + def: \b(?(هذا\s+)?(الأسبوع)\s+(({NextPrefixRegex}|{PreviousPrefixRegex})\s+)?)(((بين)\s+{WeekDayRegex}\s+(و)\s*{WeekDayRegex})|(من)\s+{WeekDayRegex}\s+(إلى)\s+{WeekDayRegex})\b references: [NextPrefixRegex, PreviousPrefixRegex, WeekDayRegex] GeneralEndingRegex: !simpleRegex def: ^\s*((\.,)|\.|,|!|\?)?\s*$ @@ -722,7 +729,7 @@ PrefixArticleRegex: !simpleRegex OrRegex: !simpleRegex def: \s*((\b|,\s*)(or|and)\b|,)\s* SpecialYearTermsRegex: !nestedRegex - def: \b((({SpecialYearPrefixes}\s+)?year)|(cy|(?fy|sy))) + def: \b(((ال)?سنة|(ال)?عام)(\s+{SpecialYearPrefixes})?) references: [ SpecialYearPrefixes ] YearPlusNumberRegex: !nestedRegex def: \b({SpecialYearTermsRegex}\s*((?(\d{2,4}))|{FullTextYearRegex}))\b @@ -736,15 +743,15 @@ TimeBeforeAfterRegex: !nestedRegex DateNumberConnectorRegex: !simpleRegex def: ^\s*(?\s+at)\s*$ DecadeRegex: !simpleRegex - def: (?(?:nough|twen|thir|fou?r|fif|six|seven|eight|nine)ties|two\s+thousands) + def: (?(ال)?عشرات|(ال)?عشرينيات|(ال)?عشرينات|(ال)?ثلاثينات|(ال)?أربعينيات|(ال)?أربعينات|(ال)?خمسينيات|(ال)?خمسينات|(ال)?ستينات|(ال)?سبعينيات|(ال)?سبعينات|(ال)?ثمانينات|(ال)?تسعينات|الألفين|ألفين) DecadeWithCenturyRegex: !nestedRegex - def: (the\s+)?(((?\d|1\d|2\d)?(')?(?\d0)(')?(\s)?s\b)|(({CenturyRegex}(\s+|-)(and\s+)?)?{DecadeRegex})|({CenturyRegex}(\s+|-)(and\s+)?(?tens|hundreds))) - references: [ CenturyRegex, DecadeRegex ] + def: ({DecadeRegex})((\s+القرن(\s+(الثماني عشر|التاسع عشر)))|(\s+(و{DecadeRegex})))? + references: [ DecadeRegex ] RelativeDecadeRegex: !nestedRegex - def: \b((the\s+)?{RelativeRegex}\s+((?[\w,]+)\s+)?decades?)\b + def: \b(?(الثلاثة|الأربعة|الخمسة|الستة|السبعة|الثمانية|التسعة|العشر|\d+)\s+)?((ال)?عقدين|(ال)?عقد|(ال)?عقود)\s+(الماضيين|الماضية|الماضي|القادمين|القادمة|القادم)\b references: [ RelativeRegex ] YearPeriodRegex: !nestedRegex - def: ((((from|during|in)\s+)?{YearRegex}\s*({TillRegex})\s*{YearRegex})|(((between)\s+){YearRegex}\s*({RangeConnectorRegex})\s*{YearRegex})) + def: (((من|بين)\s+)?{YearRegex}\s*({TillRegex}|{RangeConnectorRegex})\s*{YearRegex}) references: [ YearRegex, TillRegex, RangeConnectorRegex ] StrictTillRegex: !nestedRegex def: (?\b(to|(un)?till?|thru|through)\b|{BaseDateTime.RangeConnectorSymbolRegex}(?!\s*(h[1-2]|q[1-4])(?!(\s+of|\s*,\s*)))) @@ -773,6 +780,7 @@ UnitMap: !dictionary حقبتان: 20Y حقبتين: 20Y سنة: Y + العام: Y عام: Y سنوات: Y أعوام: Y @@ -780,6 +788,7 @@ UnitMap: !dictionary سنتان: 2Y سنتين: 2Y عامين: 2Y + الشهر: MON شهر: MON أشهر: MON شهور: MON @@ -829,6 +838,7 @@ UnitValueMap: !dictionary قرنان: 630720000 حقبتان: 630720000 سنة: 31536000 + العام: 31536000 عام: 31536000 سنوات: 31536000 أعوام: 31536000 @@ -836,6 +846,7 @@ UnitValueMap: !dictionary سنتان: 63072000 سنتين: 63072000 عامين: 63072000 + الشهر: 2592000 شهر: 2592000 أشهر: 2592000 شهور: 2592000 @@ -877,11 +888,14 @@ SpecialYearPrefixesMap: !dictionary SeasonMap: !dictionary types: [ string, string ] entries: - spring: SP - summer: SU - fall: FA - autumn: FA - winter: WI + الربيع: SP + ربيع: SP + الصيف: SU + صيف: SU + الخريف: FA + خريف: FA + الشتاء: WI + شتاء: WI SeasonValueMap: !dictionary types: [ string, int ] entries: @@ -892,16 +906,11 @@ SeasonValueMap: !dictionary CardinalMap: !dictionary types: [ string, int] entries: - first: 1 - 1st: 1 - second: 2 - 2nd: 2 - third: 3 - 3rd: 3 - fourth: 4 - 4th: 4 - fifth: 5 - 5th: 5 + الأول: 1 + الثاني: 2 + الثالث: 3 + الرابع: 4 + الخامس: 5 DayOfWeek: !dictionary types: [ string, int ] entries: @@ -1345,7 +1354,7 @@ FutureTerms: !list LastCardinalTerms: !list types: [ string ] entries: - - last + - الأخير MonthTerms: !list types: [ string ] entries: diff --git a/Patterns/Arabic/Arabic-Numbers.yaml b/Patterns/Arabic/Arabic-Numbers.yaml index 1610eeb6f2..db643beb00 100644 --- a/Patterns/Arabic/Arabic-Numbers.yaml +++ b/Patterns/Arabic/Arabic-Numbers.yaml @@ -626,6 +626,7 @@ RelativeReferenceOffsetMap: !dictionary القبل الأخير: -1 قبلا الأخي: -1 التالي: 1 + بعد التالي: 2 قادم: 1 قادمة: 1 القادم: 1 @@ -665,6 +666,7 @@ RelativeReferenceRelativeToMap: !dictionary القبل الأخير: current الذي قبلا الأخي: end التالي: current + بعد التالي: current قادم: current قادمة: current القادم: current diff --git a/Specs/DateTime/Arabic/DatePeriodExtractor.json b/Specs/DateTime/Arabic/DatePeriodExtractor.json index f7e6175bf4..57735628a0 100644 --- a/Specs/DateTime/Arabic/DatePeriodExtractor.json +++ b/Specs/DateTime/Arabic/DatePeriodExtractor.json @@ -1,7 +1,6 @@ [ { "Input": "سأخرج في يناير", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -14,7 +13,6 @@ }, { "Input": "سأخرج هذا يناير", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -27,7 +25,6 @@ }, { "Input": "سأخرج شهر يناير", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -40,7 +37,6 @@ }, { "Input": "سأخرج في شهر يناير", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -53,7 +49,6 @@ }, { "Input": "لقد فاتني يناير 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -66,7 +61,6 @@ }, { "Input": "لقد فاتني يناير, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -79,7 +73,6 @@ }, { "Input": "سأخرج في فبراير", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -92,7 +85,6 @@ }, { "Input": "سأخرج هذا فبراير", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -105,7 +97,6 @@ }, { "Input": "سأخرج شهر فبراير", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -118,7 +109,6 @@ }, { "Input": "سأخرج في شهر فبراير", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -131,7 +121,6 @@ }, { "Input": "لقد فاتني فبراير 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -144,7 +133,6 @@ }, { "Input": "لقد فاتني فبراير, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -157,7 +145,6 @@ }, { "Input": "سأخرج في مارس", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -170,7 +157,6 @@ }, { "Input": "سأخرج هذا مارس", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -183,7 +169,6 @@ }, { "Input": "سأخرج شهر مارس", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -196,7 +181,6 @@ }, { "Input": "سأخرج في شهر مارس", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -209,7 +193,6 @@ }, { "Input": "لقد فاتني مارس 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -222,7 +205,6 @@ }, { "Input": "لقد فاتني مارس, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -235,7 +217,6 @@ }, { "Input": "سأخرج في أبريل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -248,7 +229,6 @@ }, { "Input": "سأخرج هذا أبريل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -261,7 +241,6 @@ }, { "Input": "سأخرج شهر أبريل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -274,7 +253,6 @@ }, { "Input": "سأخرج في شهر أبريل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -287,7 +265,6 @@ }, { "Input": "لقد فاتني أبريل 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -300,7 +277,6 @@ }, { "Input": "لقد فاتني أبريل, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -313,7 +289,6 @@ }, { "Input": "سأخرج في مايو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -326,7 +301,6 @@ }, { "Input": "سأخرج هذا مايو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -339,7 +313,6 @@ }, { "Input": "سأخرج شهر مايو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -352,7 +325,6 @@ }, { "Input": "سأخرج في شهر مايو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -365,7 +337,6 @@ }, { "Input": "لقد فاتني مايو 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -378,7 +349,6 @@ }, { "Input": "لقد فاتني مايو, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -391,7 +361,6 @@ }, { "Input": "سأخرج في يونيو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -404,7 +373,6 @@ }, { "Input": "سأخرج هذا يونيو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -417,7 +385,6 @@ }, { "Input": "سأخرج شهر يونيو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -430,7 +397,6 @@ }, { "Input": "سأخرج في شهر يونيو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -443,7 +409,6 @@ }, { "Input": "لقد فاتني يونيو 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -456,7 +421,6 @@ }, { "Input": "لقد فاتني يونيو, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -469,7 +433,6 @@ }, { "Input": "سأخرج في يوليو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -482,7 +445,6 @@ }, { "Input": "سأخرج هذا يوليو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -495,7 +457,6 @@ }, { "Input": "سأخرج شهر يوليو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -508,7 +469,6 @@ }, { "Input": "سأخرج في شهر يوليو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -521,7 +481,6 @@ }, { "Input": "لقد فاتني يوليو 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -534,7 +493,6 @@ }, { "Input": "لقد فاتني يوليو, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -547,7 +505,6 @@ }, { "Input": "سأخرج في أغسطس", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -560,7 +517,6 @@ }, { "Input": "سأخرج هذا أغسطس", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -573,7 +529,6 @@ }, { "Input": "سأخرج شهر أغسطس", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -586,7 +541,6 @@ }, { "Input": "سأخرج في شهر أغسطس", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -599,7 +553,6 @@ }, { "Input": "لقد فاتني أغسطس 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -612,7 +565,6 @@ }, { "Input": "لقد فاتني أغسطس, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -625,7 +577,6 @@ }, { "Input": "سأخرج في سبتمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -638,7 +589,6 @@ }, { "Input": "سأخرج هذا سبتمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -651,7 +601,6 @@ }, { "Input": "سأخرج شهر سبتمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -664,7 +613,6 @@ }, { "Input": "سأخرج في شهر سبتمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -677,7 +625,6 @@ }, { "Input": "لقد فاتني سبتمبر 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -690,7 +637,6 @@ }, { "Input": "لقد فاتني سبتمبر, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -703,7 +649,6 @@ }, { "Input": "سأخرج في أكتوبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -716,20 +661,18 @@ }, { "Input": "سأخرج هذا أكتوبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": " هذا أكتوبر", - "Start": 5, - "Length": 11, + "Text": "هذا أكتوبر", + "Start": 6, + "Length": 10, "Type": "daterange" } ] }, { "Input": "سأخرج شهر أكتوبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -742,7 +685,6 @@ }, { "Input": "سأخرج في شهر أكتوبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -755,7 +697,6 @@ }, { "Input": "لقد فاتني أكتوبر 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -768,7 +709,6 @@ }, { "Input": "لقد فاتني أكتوبر, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -781,7 +721,6 @@ }, { "Input": "سأخرج في نوفمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -794,7 +733,6 @@ }, { "Input": "سأخرج هذا نوفمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -807,7 +745,6 @@ }, { "Input": "سأخرج شهر نوفمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -819,13 +756,12 @@ ] }, { - "Input": "سأخرج في شهرنوفمبر", - "NotSupported": "dotnet", + "Input": "سأخرج في شهر نوفمبر", "NotSupportedByDesign": "java, javascript, python", "Results": [ { "Text": "شهر نوفمبر", - "Start": -1, + "Start": 9, "Length": 10, "Type": "daterange" } @@ -833,7 +769,6 @@ }, { "Input": "لقد فاتني نوفمبر 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -846,7 +781,6 @@ }, { "Input": "لقد فاتني نوفمبر, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -859,7 +793,6 @@ }, { "Input": "سأخرج في ديسمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -872,7 +805,6 @@ }, { "Input": "سأخرج هذا ديسمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -885,7 +817,6 @@ }, { "Input": "سأخرج شهر ديسمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -898,7 +829,6 @@ }, { "Input": "سأخرج في شهر ديسمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -911,7 +841,6 @@ }, { "Input": "لقد فاتني ديسمبر 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -924,7 +853,6 @@ }, { "Input": "لقد فاتني ديسمبر, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -937,7 +865,6 @@ }, { "Input": "سأخرج في كانون الثاني", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -950,20 +877,18 @@ }, { "Input": "سأخرج هذا شهر كانون الثاني", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "هذا كانون الثاني", - "Start": -1, - "Length": 16, + "Text": "هذا شهر كانون الثاني", + "Start": 6, + "Length": 20, "Type": "daterange" } ] }, { "Input": "سأخرج شهر كانون الثاني", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -976,7 +901,6 @@ }, { "Input": "سأخرج في شهر كانون الثاني", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -989,7 +913,6 @@ }, { "Input": "لقد فاتني كانون الثاني 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1002,7 +925,6 @@ }, { "Input": "لقد فاتني كانون الثاني, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1015,20 +937,18 @@ }, { "Input": "سأخرج في شباط", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "شهر شباط", - "Start": -1, - "Length": 8, + "Text": "شباط", + "Start": 9, + "Length": 4, "Type": "daterange" } ] }, { "Input": "سأخرج هذا شباط", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1041,7 +961,6 @@ }, { "Input": "سأخرج شهر شباط", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1054,7 +973,6 @@ }, { "Input": "سأخرج في شهر شباط", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1067,7 +985,6 @@ }, { "Input": "لقد فاتني شباط 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1080,7 +997,6 @@ }, { "Input": "لقد فاتني شباط, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1093,7 +1009,6 @@ }, { "Input": "سأخرج في آذار", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1106,20 +1021,18 @@ }, { "Input": "سأخرج هذا شهر آذار", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "هذا آذار", - "Start": -1, - "Length": 8, + "Text": "هذا شهر آذار", + "Start": 6, + "Length": 12, "Type": "daterange" } ] }, { "Input": "سأخرج شهر آذار", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1132,7 +1045,6 @@ }, { "Input": "سأخرج في شهر آذار", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1145,7 +1057,6 @@ }, { "Input": "لقد فاتني آذار 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1158,7 +1069,6 @@ }, { "Input": "لقد فاتني آذار, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1171,7 +1081,6 @@ }, { "Input": "سأخرج في نيسان", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1184,7 +1093,6 @@ }, { "Input": "سأخرج هذا نيسان ", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1197,7 +1105,6 @@ }, { "Input": "سأخرج شهر نيسان", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1210,7 +1117,6 @@ }, { "Input": "سأخرج في شهر نيسان", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1223,7 +1129,6 @@ }, { "Input": "لقد فاتني نيسان 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1236,7 +1141,6 @@ }, { "Input": "لقد فاتني نيسان, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1249,7 +1153,6 @@ }, { "Input": "سأخرج في حزيران", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1262,20 +1165,18 @@ }, { "Input": "سأخرج هذا حزيران", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "هذا حزيران", - "Start": -1, - "Length": 10, + "Text": "هذا حزيران", + "Start": 6, + "Length": 11, "Type": "daterange" } ] }, { "Input": "سأخرج شهر حزيران", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1288,7 +1189,6 @@ }, { "Input": "سأخرج في شهر حزيران", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1301,7 +1201,6 @@ }, { "Input": "لقد فاتني حزيران 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1314,7 +1213,6 @@ }, { "Input": "لقد فاتني حزيران, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1327,7 +1225,6 @@ }, { "Input": "سأخرج في تموز", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1340,7 +1237,6 @@ }, { "Input": "سأخرج هذا تموز", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1353,7 +1249,6 @@ }, { "Input": "سأخرج شهر تموز", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1366,7 +1261,6 @@ }, { "Input": "سأخرج في شهر تموز", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1379,7 +1273,6 @@ }, { "Input": "لقد فاتني تموز 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1392,7 +1285,6 @@ }, { "Input": "لقد فاتني تموز, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1405,7 +1297,6 @@ }, { "Input": "سأخرج في آب", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1418,7 +1309,6 @@ }, { "Input": "سأخرج هذا آب", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1431,7 +1321,6 @@ }, { "Input": "سأخرج شهر آب", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1444,7 +1333,6 @@ }, { "Input": "سأخرج في شهر آب", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1457,7 +1345,6 @@ }, { "Input": "لقد فاتني آب 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1470,7 +1357,6 @@ }, { "Input": "لقد فاتني آب, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1483,7 +1369,6 @@ }, { "Input": "سأخرج في أيلول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1496,7 +1381,6 @@ }, { "Input": "سأخرج هذا أيلول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1509,7 +1393,6 @@ }, { "Input": "سأخرج شهر أيلول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1522,12 +1405,11 @@ }, { "Input": "سأخرج في شهر أيلول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "شهر ايلول", - "Start": -1, + "Text": "شهر أيلول", + "Start": 9, "Length": 9, "Type": "daterange" } @@ -1535,7 +1417,6 @@ }, { "Input": "لقد فاتني أيلول 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1548,7 +1429,6 @@ }, { "Input": "لقد فاتني أيلول, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1561,51 +1441,47 @@ }, { "Input": "سأخرج في تشرين الأول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": " تشرين الأول", - "Start": -1, - "Length": 13, + "Text": "تشرين الأول", + "Start": 9, + "Length": 11, "Type": "daterange" } ] }, { "Input": "سأخرج هذا تشرين الأول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "هذا تشرين الأول ", - "Start": -1, - "Length": 16, + "Text": "هذا تشرين الأول", + "Start": 6, + "Length": 15, "Type": "daterange" } ] }, { - "Input": "سأخرج شهرتشرين الأول", - "NotSupported": "dotnet", + "Input": "سأخرج شهر تشرين الأول", "NotSupportedByDesign": "java, javascript, python", "Results": [ { "Text": "شهر تشرين الأول", - "Start": -1, + "Start": 6, "Length": 15, "Type": "daterange" } ] }, { - "Input": "سأخرج في شهرتشرين الأول", - "NotSupported": "dotnet", + "Input": "سأخرج في شهر تشرين الأول", "NotSupportedByDesign": "java, javascript, python", "Results": [ { "Text": "شهر تشرين الأول", - "Start": -1, + "Start": 9, "Length": 15, "Type": "daterange" } @@ -1613,7 +1489,6 @@ }, { "Input": "لقد فاتني تشرين الأول 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1626,7 +1501,6 @@ }, { "Input": "لقد فاتني تشرين الأول, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1639,33 +1513,30 @@ }, { "Input": "سأخرج في تشرين الثاني", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "شهرتشرين الثاني", - "Start": -1, - "Length": 15, + "Text": "تشرين الثاني", + "Start": 9, + "Length": 12, "Type": "daterange" } ] }, { "Input": "سأخرج هذا تشرين الثاني", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "هذا تشرين الثاني ", - "Start": -1, - "Length": 17, + "Text": "هذا تشرين الثاني", + "Start": 6, + "Length": 16, "Type": "daterange" } ] }, { "Input": "سأخرج شهر تشرين الثاني", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1678,7 +1549,6 @@ }, { "Input": "سأخرج في شهر تشرين الثاني", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1691,7 +1561,6 @@ }, { "Input": "لقد فاتني تشرين الثاني 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1704,7 +1573,6 @@ }, { "Input": "لقد فاتني تشرين الثاني, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1717,7 +1585,6 @@ }, { "Input": "سأخرج في كانون الأول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1730,7 +1597,6 @@ }, { "Input": "سأخرج هذا كانون الأول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1743,7 +1609,6 @@ }, { "Input": "سأخرج شهر كانون الأول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1756,7 +1621,6 @@ }, { "Input": "سأخرج في شهر كانون الأول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1769,7 +1633,6 @@ }, { "Input": "لقد فاتني كانون الأول 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1782,7 +1645,6 @@ }, { "Input": "لقد فاتني كانون الأول, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1795,7 +1657,6 @@ }, { "Input": "تقويم شهر سبتمبر.", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1808,7 +1669,6 @@ }, { "Input": "سأخرج من 4 إلى 22 هذا الشهر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1821,20 +1681,18 @@ }, { "Input": "سأخرج من 4 إلى 23 في الشهر المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "من 4-23 في الشهر المقبل", - "Start": -1, - "Length": 23, + "Text": "من 4 إلى 23 في الشهر المقبل", + "Start": 6, + "Length": 27, "Type": "daterange" } ] }, { "Input": "سأخرج من 3 حتى 12 سبتمبر هاهاها", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1847,20 +1705,18 @@ }, { "Input": "سأخرج من 4 إلى 23 الشهر المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "4 إلى 23 الشهر المقبل", - "Start": -1, - "Length": 22, + "Text": "من 4 إلى 23 الشهر المقبل", + "Start": 6, + "Length": 24, "Type": "daterange" } ] }, { "Input": "سأكون خارج 4 حتى 23 من هذا الشهر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1873,7 +1729,6 @@ }, { "Input": "سأخرج ما بين 4 و 22 هذا الشهر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1886,7 +1741,6 @@ }, { "Input": "سأخرج بين 3 و 12 سبتمبر هاهاها", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1899,7 +1753,6 @@ }, { "Input": "سأخرج بين 4 سبتمبر و 8 سبتمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1912,46 +1765,42 @@ }, { "Input": "سأخرج بين 15 و 19 نوفمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "بين 15 و 19 نوفمبر", - "Start": -1, - "Length": 18, + "Text": "بين 15 و 19 نوفمبر", + "Start": 6, + "Length": 19, "Type": "daterange" } ] }, { "Input": "سأخرج بين 15 و 19 تشرين الثاني ", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "بين 15 و 19 تشرين الثاني ", - "Start": -1, - "Length": 26, + "Text": "بين 15 و 19 تشرين الثاني", + "Start": 6, + "Length": 24, "Type": "daterange" } ] }, { "Input": "سأخرج بين الخامس عشر والتاسع عشر من نوفمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "بين الخامس عشر والتاسع عشر من نوفمبر", - "Start": -1, - "Length": 36, + "Text": "بين الخامس عشر والتاسع عشر من نوفمبر", + "Start": 6, + "Length": 37, "Type": "daterange" } ] }, { "Input": "سأخرج من 4 إلى 22 يناير 2017", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1964,25 +1813,23 @@ }, { "Input": "سأخرج في الفترة ما بين 4-22 يناير 2017", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "بين 4-22 يناير 2017", - "Start": -1, - "Length": 19, + "Text": "بين 4-22 يناير 2017", + "Start": 19, + "Length": 20, "Type": "daterange" } ] }, { "Input": "سأخرج في هذا الأسبوع", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "هذا الاسبوع", - "Start": -1, + "Text": "هذا الأسبوع", + "Start": 9, "Length": 11, "Type": "daterange" } @@ -1990,12 +1837,11 @@ }, { "Input": "سأخرج الأسبوع القادم", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "الاسبوع القادم", - "Start": -1, + "Text": "الأسبوع القادم", + "Start": 6, "Length": 14, "Type": "daterange" } @@ -2003,7 +1849,6 @@ }, { "Input": "سأخرج سبتمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2016,7 +1861,6 @@ }, { "Input": "سأخرج في سبتمبر الماضي", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2029,7 +1873,6 @@ }, { "Input": "سأخرج في يونيو القادم", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2042,7 +1885,6 @@ }, { "Input": "سأخرج في يونيو 2016", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2055,7 +1897,6 @@ }, { "Input": "سأخرج يونيو العام المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2068,20 +1909,18 @@ }, { "Input": "سأخرج في عطلة نهاية الأسبوع", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "نهاية الأسبوع", - "Start": 14, - "Length": 13, + "Text": "عطلة نهاية الأسبوع", + "Start": 9, + "Length": 18, "Type": "daterange" } ] }, { "Input": "سأخرج الأسبوع الثالث من هذا الشهر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2094,33 +1933,30 @@ }, { "Input": "سأخرج الأسبوع الأخير من شهر يوليو", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "الأسبوع الأخير من يوليو", - "Start": -1, - "Length": 23, + "Text": "الأسبوع الأخير من شهر يوليو", + "Start": 6, + "Length": 27, "Type": "daterange" } ] }, { "Input": "جدولة التخييم ليوم الجمعة حتى الأحد", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "من الجمعة إلى الأحد", - "Start": -1, - "Length": 19, + "Text": "الجمعة حتى الأحد", + "Start": 19, + "Length": 16, "Type": "daterange" } ] }, { "Input": "سأخرج 3 أيام القادمة", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2132,21 +1968,19 @@ ] }, { - "Input": "سأخرج في الأشهر الثلاثة القادمة", - "NotSupported": "dotnet", + "Input": "سأخرج في الأشهر 3 القادمة", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "الأشهر الثلاثة القادمة", - "Start": 9, - "Length": 22, + "Text": "في الأشهر 3 القادمة", + "Start": 6, + "Length": 19, "Type": "daterange" } ] }, { "Input": "سأخرج بعد 3 سنوات", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2159,7 +1993,6 @@ }, { "Input": "سأخرج في 3 سنوات", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2172,7 +2005,6 @@ }, { "Input": "سأخرج بعد 3 أسابيع", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2185,20 +2017,30 @@ }, { "Input": "سأخرج في 3 أشهر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "في 3 شهور", - "Start": -1, + "Text": "في 3 أشهر", + "Start": 6, "Length": 9, "Type": "daterange" } ] }, + { + "Input": "سأخرج في 3 أسابيع", + "NotSupportedByDesign": "java, javascript, python", + "Results": [ + { + "Text": "في 3 أسابيع", + "Start": 6, + "Length": 11, + "Type": "daterange" + } + ] + }, { "Input": "سأخرج آخر 3 سنوات", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2211,7 +2053,6 @@ }, { "Input": "سأخرج العام الماضي", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2224,7 +2065,6 @@ }, { "Input": "سأخرج الشهر الماضي", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2237,20 +2077,18 @@ }, { "Input": "سأخرج في الأسابيع الثلاثة الماضية", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "الأسابيع الثلاثة الماضية", - "Start": 9, - "Length": 24, + "Text": "في الأسابيع الثلاثة الماضية", + "Start": 6, + "Length": 27, "Type": "daterange" } ] }, { "Input": "الأسابيع القليلة الماضية", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2263,7 +2101,6 @@ }, { "Input": "الأيام العديدة الماضية", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2275,47 +2112,43 @@ ] }, { - "Input": "سأخرج من 2 أكتوبر إلى 22 أكتوبر", - "NotSupported": "dotnet", + "Input": "سأخرج 2 أكتوبر إلى 22 أكتوبر", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "من 2 أكتوبر إلى 22 أكتوبر", + "Text": "2 أكتوبر إلى 22 أكتوبر", "Start": 6, - "Length": 25, + "Length": 22, "Type": "daterange" } ] }, { - "Input": "سأخرج في 12 يناير2016 - 2016/02/22", - "NotSupported": "dotnet", + "Input": "سأخرج في 12 يناير, 2016 - 2016/02/22", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "يناير12 ,2016 - 2016/02/22", - "Start": -1, - "Length": 26, + "Text": "12 يناير, 2016 - 2016/02/22", + "Start": 9, + "Length": 28, "Type": "daterange" } ] }, { "Input": "سأخرج في الأول من يناير حتى الأربعاء ، 22 يناير", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": " الأول من يناير حتى الأربعاء ، 22 يناير", - "Start": 8, - "Length": 41, + "Text": "الأول من يناير حتى الأربعاء ، 22 يناير", + "Start": 9, + "Length": 40, "Type": "daterange" } ] }, { "Input": "سأخرج اليوم حتى الغد", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2328,7 +2161,6 @@ }, { "Input": "سأخرج اليوم حتى 22 أكتوبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2341,7 +2173,6 @@ }, { "Input": "سأخرج في 2 أكتوبر حتى بعد غد", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2354,12 +2185,11 @@ }, { "Input": "سأخرج اليوم حتى الأحد المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "اليوم حتى الأحد القادم", - "Start": -1, + "Text": "اليوم حتى الأحد المقبل", + "Start": 6, "Length": 22, "Type": "daterange" } @@ -2367,72 +2197,78 @@ }, { "Input": "سأخرج يوم الجمعة حتى الأحد القادم", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "يوم الجمعة حتى الأحد القادم", + "Text": "الجمعة حتى الأحد القادم", + "Start": 10, + "Length": 23, + "Type": "daterange" + } + ] + }, + { + "Input": "سأخرج من 2 أكتوبر إلى 22 أكتوبر", + "NotSupportedByDesign": "java, javascript, python", + "Results": [ + { + "Text": "من 2 أكتوبر إلى 22 أكتوبر", "Start": 6, - "Length": 27, + "Length": 25, "Type": "daterange" } ] }, { "Input": "سأخرج من 2015/08/12 حتى 22 أكتوبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "من 2015/08/12 حتى 22 أكتوبر", - "Start": 6, - "Length": 27, + "Text": "2015/08/12 حتى 22 أكتوبر", + "Start": 9, + "Length": 24, "Type": "daterange" } ] }, { - "Input": "سأخرج من يوم الجمعة الثاني حتى يوم الثلاثاء السادس", - "NotSupported": "dotnet", + "Input": "سأخرج من يوم الجمعة في الثاني حتى يوم الثلاثاء في السادس", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "من يوم الجمعة الثاني حتى يوم الثلاثاء السادس", - "Start": 6, - "Length": 44, + "Text": "الجمعة في الثاني حتى يوم الثلاثاء في السادس", + "Start": 13, + "Length": 43, "Type": "daterange" } ] }, { "Input": "سأخرج من اليوم حتى الغد", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "من اليوم حتى الغد", - "Start": 6, - "Length": 17, + "Text": "اليوم حتى الغد", + "Start": 9, + "Length": 14, "Type": "daterange" } ] }, { "Input": "سأخرج من يوم الجمعة حتى الأحد القادم", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "من يوم الجمعة حتى الأحد القادم", - "Start": 6, - "Length": 30, + "Text": "الجمعة حتى الأحد القادم", + "Start": 13, + "Length": 23, "Type": "daterange" } ] }, { "Input": "سأخرج بين 2 أكتوبر و 22 أكتوبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2445,20 +2281,18 @@ }, { "Input": "سأخرج 19-20 نوفمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": " 19-20 نوفمبر", - "Start": 5, - "Length": 13, + "Text": "19-20 نوفمبر", + "Start": 6, + "Length": 12, "Type": "daterange" } ] }, { "Input": "سأخرج من 19 إلى 20 نوفمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2471,20 +2305,18 @@ }, { "Input": "سأخرج شهر نوفمبر بين 19 و 20", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "نوفمبر بين 19 و 20", - "Start": 10, - "Length": 18, + "Text": "شهر نوفمبر بين 19 و 20", + "Start": 6, + "Length": 22, "Type": "daterange" } ] }, { "Input": "سأخرج في الربع الثالث من عام 2016", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2497,7 +2329,6 @@ }, { "Input": "سأخرج في الربع الثالث من هذا العام", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2509,13 +2340,12 @@ ] }, { - "Input": "سأخرج 2016 في الربع الثالث", - "NotSupported": "dotnet", + "Input": "سأخرج 2016 الربع الثالث", "NotSupportedByDesign": "java, javascript, python", "Results": [ { "Text": "2016 الربع الثالث", - "Start": -1, + "Start": 6, "Length": 17, "Type": "daterange" } @@ -2523,7 +2353,6 @@ }, { "Input": "سأخرج 2015.3", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2536,12 +2365,11 @@ }, { "Input": "سأخرج 3-2015 ", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "2015-3", - "Start": -1, + "Text": "3-2015", + "Start": 6, "Length": 6, "Type": "daterange" } @@ -2549,7 +2377,6 @@ }, { "Input": "سأخرج 2015/3", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2562,7 +2389,6 @@ }, { "Input": "سأخرج 3/2015", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2575,7 +2401,6 @@ }, { "Input": "سأخرج الأسبوع الثالث من عام 2027", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2588,7 +2413,6 @@ }, { "Input": "سأخرج الأسبوع الثالث العام المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2601,7 +2425,6 @@ }, { "Input": "سأرحل هذا الصيف", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2614,7 +2437,6 @@ }, { "Input": "سأرحل الربيع القادم", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2627,7 +2449,6 @@ }, { "Input": "سأرحل الصيف", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2640,7 +2461,6 @@ }, { "Input": "سأرحل صيف", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2653,7 +2473,6 @@ }, { "Input": "سأرحل صيف 2016", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2666,7 +2485,6 @@ }, { "Input": "سأرحل الصيف 2016", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2679,7 +2497,6 @@ }, { "Input": "عطلات الشهر القادم", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2692,7 +2509,6 @@ }, { "Input": "عطلة الشهر المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2705,7 +2521,6 @@ }, { "Input": "ماذا لدي أسبوع 30 نوفمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2718,7 +2533,6 @@ }, { "Input": "الأسبوع في 15 سبتمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2731,7 +2545,6 @@ }, { "Input": "أسبوع 15 سبتمبر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2743,60 +2556,67 @@ ] }, { - "Input": "شهر سبتمبر 15", - "NotSupported": "dotnet", + "Input": "من شهر سبتمبر 15", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "شهر سبتمبر 15", + "Text": "من شهر سبتمبر 15", "Start": 0, - "Length": 13, + "Length": 16, "Type": "daterange" } ] }, { "Input": "سأغادر خلال عطلة نهاية الأسبوع", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "عطلة نهاية الاسبوع", - "Start": -1, + "Text": "عطلة نهاية الأسبوع", + "Start": 12, "Length": 18, "Type": "daterange" } ] }, { - "Input": "سأرحل بقية الأسبوع", - "NotSupported": "dotnet", + "Input": "سأرحل باقي الأسبوع", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "بقية الأسبوع", - "Start": -1, - "Length": 13, + "Text": "باقي الأسبوع", + "Start": 6, + "Length": 12, "Type": "daterange" } ] }, { "Input": "سأرحل بقية أسبوعي", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "بقية اسبوعي", - "Start": -1, + "Text": "بقية أسبوعي", + "Start": 6, "Length": 11, "Type": "daterange" } ] }, + { + "Input": "سأرحل بقية الأسبوع", + "NotSupportedByDesign": "java, javascript, python", + "Results": [ + { + "Text": "بقية الأسبوع", + "Start": 6, + "Length": 12, + "Type": "daterange" + } + ] + }, { "Input": "سأرحل نهاية الأسبوع", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2809,7 +2629,6 @@ }, { "Input": "سأرحل بقية هذا الأسبوع", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2822,7 +2641,6 @@ }, { "Input": "سأرحل نهاية الأسبوع الحالي", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2835,12 +2653,11 @@ }, { "Input": "سأرحل بقية الشهر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "باقي الشهر", - "Start": -1, + "Text": "بقية الشهر", + "Start": 6, "Length": 10, "Type": "daterange" } @@ -2848,7 +2665,6 @@ }, { "Input": "سأرحل بقية العام", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2861,7 +2677,6 @@ }, { "Input": "يرجى تحديد موعد لقاءنا في وقت لاحق هذا الشهر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2874,20 +2689,18 @@ }, { "Input": "يرجى تحديد موعد لقاءنا في وقت لاحق من هذا الأسبوع", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "لاحقا من هذا الاسبوع", - "Start": -1, - "Length": 20, + "Text": "في وقت لاحق من هذا الأسبوع", + "Start": 23, + "Length": 26, "Type": "daterange" } ] }, { "Input": "يرجى تحديد موعد لقاءنا في أواخر الأسبوع المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2900,7 +2713,6 @@ }, { "Input": "من فضلك حدد لنا وقتًا للقاء أواخر العام المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2913,7 +2725,6 @@ }, { "Input": "التقينا أواخر الأسبوع الماضي", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2926,7 +2737,6 @@ }, { "Input": "يرجى تحديد موعد لقاءنا في وقت مبكر من هذا الشهر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2938,13 +2748,12 @@ ] }, { - "Input": "يرجى تحديد موعد لقاءنا هذا الأسبوع", - "NotSupported": "dotnet", + "Input": "يرجى تحديد موعد لقاءنا وقت مبكر هذا الأسبوع", "NotSupportedByDesign": "java, javascript, python", "Results": [ { "Text": "وقت مبكر هذا الأسبوع", - "Start": -1, + "Start": 23, "Length": 20, "Type": "daterange" } @@ -2952,7 +2761,6 @@ }, { "Input": "يرجى تحديد موعد لقاءنا مطلع الاسبوع المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2965,7 +2773,6 @@ }, { "Input": "يرجى تحديد موعد لقاءنا مطلع العام المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2978,7 +2785,6 @@ }, { "Input": "كورتانا ، يرجى تنسيق اجتماع مدته 25 دقيقة مع أنطونيو الأسبوع المقبل بين الأربعاء والجمعة.", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2991,7 +2797,6 @@ }, { "Input": "كورتانا ، يرجى تنسيق اجتماع مدته 25 دقيقة مع أنطونيو الأسبوع المقبل من الأربعاء إلى الجمعة.", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3004,7 +2809,6 @@ }, { "Input": "كورتانا ، يرجى تنسيق اجتماع مدته 25 دقيقة مع أنطونيو الأسبوع الماضي من الأربعاء إلى الجمعة.", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3017,7 +2821,6 @@ }, { "Input": "كورتانا ، يرجى تنسيق اجتماع مدته 25 دقيقة مع أنطونيو هذا الأسبوع بين الأربعاء والجمعة.", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3030,7 +2833,6 @@ }, { "Input": "سأخرج عام 247", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3043,20 +2845,18 @@ }, { "Input": "في السبعينيات", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "في السبعينيات", - "Start": 0, - "Length": 13, + "Text": "السبعينيات", + "Start": 3, + "Length": 10, "Type": "daterange" } ] }, { "Input": "من مواليد ألفين", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3069,20 +2869,18 @@ }, { "Input": "في 1970", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "1970.0", - "Start": -1, - "Length": 6, + "Text": "1970", + "Start": 3, + "Length": 4, "Type": "daterange" } ] }, { "Input": "السبعينيات", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3095,7 +2893,6 @@ }, { "Input": "سبعينيات", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3108,7 +2905,6 @@ }, { "Input": "في الأربعينيات", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3121,33 +2917,30 @@ }, { "Input": "من السبعينيات", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "السبعينات", - "Start": -1, - "Length": 9, + "Text": "السبعينيات", + "Start": 3, + "Length": 10, "Type": "daterange" } ] }, { "Input": "في السبعينيات القرن التاسع عشر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "السبعينيات", + "Text": "السبعينيات القرن التاسع عشر", "Start": 3, - "Length": 10, + "Length": 27, "Type": "daterange" } ] }, { "Input": "في الألفين والعشرات", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3160,7 +2953,6 @@ }, { "Input": "في العشرينيات", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3173,20 +2965,18 @@ }, { "Input": "في الألفين ", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": " الألفين ", - "Start": 2, - "Length": 9, + "Text": "الألفين", + "Start": 3, + "Length": 7, "Type": "daterange" } ] }, { "Input": "سأخرج من 2 إلى 7 فبراير ، ألفان وثمانية عشر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3199,7 +2989,6 @@ }, { "Input": "بين 2 و 7 فبراير ألفين وثمانية عشر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3212,7 +3001,6 @@ }, { "Input": "سأخرج ما بين 2-7 فبراير ألفين وثمانية عشر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3224,21 +3012,19 @@ ] }, { - "Input": "حدث ذلك في يونيو من عام تسعة وتسعين وتسعين", - "NotSupported": "dotnet", + "Input": "حدث ذلك في يونيو من عام تسعة عشر تسعة وتسعون", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "يونيو من عام تسعة وتسعين وتسعين", + "Text": "يونيو من عام تسعة عشر تسعة وتسعون", "Start": 11, - "Length": 31, + "Length": 33, "Type": "daterange" } ] }, { "Input": "تسعة عشر ثمانية وعشرون", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3251,7 +3037,6 @@ }, { "Input": "سأخرج الأسبوع الأول من عام ألفين وسبعة وعشرين", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3264,20 +3049,18 @@ }, { "Input": "سأخرج في الربع الأول من عام ألفين وعشرين", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "الربع الأول من ألفين وعشرين", - "Start": -1, - "Length": 27, + "Text": "الربع الأول من عام ألفين وعشرين", + "Start": 9, + "Length": 31, "Type": "daterange" } ] }, { "Input": "في ربيع عام تسعة عشر وثمانية وسبعين", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3290,7 +3073,6 @@ }, { "Input": "عام مائتين وسبعة وستين", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3303,7 +3085,6 @@ }, { "Input": "الاسبوع بعد القادم", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3314,9 +3095,20 @@ } ] }, + { + "Input": "حدث ذلك العقدين الماضيين", + "NotSupportedByDesign": "java, javascript, python", + "Results": [ + { + "Text": "العقدين الماضيين", + "Start": 8, + "Length": 16, + "Type": "daterange" + } + ] + }, { "Input": "حدث ذلك في العقدين الماضيين", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3329,7 +3121,6 @@ }, { "Input": "حدث ذلك في العقد القادم", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3342,20 +3133,18 @@ }, { "Input": "سيحدث بعد 4 أسابيع في المستقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "4 أسابيع في المستقبل", - "Start": 10, - "Length": 20, + "Text": "بعد 4 أسابيع في المستقبل", + "Start": 6, + "Length": 24, "Type": "daterange" } ] }, { "Input": "سيحدث بعد يومين", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3368,7 +3157,6 @@ }, { "Input": "يمكن أن تجدنا كورتانا موعدًا بداية الأسبوع المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3381,7 +3169,6 @@ }, { "Input": "بالتأكيد ، لنبدأ سكايب نهاية الأسبوع المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3394,7 +3181,6 @@ }, { "Input": "بالتأكيد ، لنبدأ سكايب بداية الأسبوع المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3407,7 +3193,6 @@ }, { "Input": "كورتانا ، تجد لنا الوقت نهاية شهر مارس", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3420,20 +3205,18 @@ }, { "Input": "كورتانا ، يرجى تحديد موعد لنا في منتصف الأسبوع المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "منتصف الأسبوع المقبل", - "Start": 33, - "Length": 20, + "Text": "في منتصف الأسبوع المقبل", + "Start": 30, + "Length": 23, "Type": "daterange" } ] }, { "Input": "يمكن أن يرتب لنا كورتانا لقاء منتصف مارس", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3446,7 +3229,6 @@ }, { "Input": "ماذا عن منتصف الصيف؟", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3459,7 +3241,6 @@ }, { "Input": "يمكنني أن أجد لنا موعدًا بداية الأسبوع المقبل", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3472,7 +3253,6 @@ }, { "Input": "سأخرج في أيار", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3485,7 +3265,6 @@ }, { "Input": "سأخرج هذا أيار", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3498,7 +3277,6 @@ }, { "Input": "سأخرج شهر أيار", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3511,7 +3289,6 @@ }, { "Input": "سأخرج في شهر أيار", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3524,7 +3301,6 @@ }, { "Input": "لقد فاتني أيار 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3537,7 +3313,6 @@ }, { "Input": "لقد فاتني أيار, 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3550,7 +3325,6 @@ }, { "Input": "سأخرج في محرم", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3563,7 +3337,6 @@ }, { "Input": "لقد فاتني محرم 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3576,7 +3349,6 @@ }, { "Input": "سأخرج في صفر", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3589,7 +3361,6 @@ }, { "Input": "لقد فاتني صفر 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3602,7 +3373,6 @@ }, { "Input": "سأخرج في ربيع الأول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3615,7 +3385,6 @@ }, { "Input": "لقد فاتني ربيع الأول 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3628,7 +3397,6 @@ }, { "Input": "سأخرج في ربيع الثاني", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3641,7 +3409,6 @@ }, { "Input": "لقد فاتني ربيع الثاني 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3654,7 +3421,6 @@ }, { "Input": "سأخرج في جمادى الأول", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3667,7 +3433,6 @@ }, { "Input": "لقد فاتني جمادى الأول 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3680,7 +3445,6 @@ }, { "Input": "سأخرج في جمادى الثاني", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3693,7 +3457,6 @@ }, { "Input": "لقد فاتني جمادى الثاني 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3706,7 +3469,6 @@ }, { "Input": "سأخرج في رجب", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3719,7 +3481,6 @@ }, { "Input": "لقد فاتني رجب 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3732,7 +3493,6 @@ }, { "Input": "سأخرج في شعبان", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3745,7 +3505,6 @@ }, { "Input": "لقد فاتني شعبان 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3758,7 +3517,6 @@ }, { "Input": "سأخرج في رمضان", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3771,7 +3529,6 @@ }, { "Input": "لقد فاتني رمضان 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3784,7 +3541,6 @@ }, { "Input": "سأخرج في شوال", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3797,7 +3553,6 @@ }, { "Input": "لقد فاتني شوال 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3810,7 +3565,6 @@ }, { "Input": "سأخرج في ذو القعدة", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3823,7 +3577,6 @@ }, { "Input": "لقد فاتني ذو القعدة 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3836,7 +3589,6 @@ }, { "Input": "سأخرج في ذو الحجة", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3849,7 +3601,6 @@ }, { "Input": "لقد فاتني ذو الحجة 2001", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3860,9 +3611,44 @@ } ] }, + { + "Input": "سأخرج نوفمبر بين 15 و 19", + "NotSupportedByDesign": "java, javascript, python", + "Results": [ + { + "Text": "نوفمبر بين 15 و 19", + "Start": 6, + "Length": 18, + "Type": "daterange" + } + ] + }, + { + "Input": "سأخرج تشرين الثاني بين 15 و 19", + "NotSupportedByDesign": "java, javascript, python", + "Results": [ + { + "Text": "تشرين الثاني بين 15 و 19", + "Start": 6, + "Length": 24, + "Type": "daterange" + } + ] + }, + { + "Input": "سأخرج نوفمبر بين الخامس عشر والتاسع عشر", + "NotSupportedByDesign": "java, javascript, python", + "Results": [ + { + "Text": "نوفمبر بين الخامس عشر والتاسع عشر", + "Start": 6, + "Length": 33, + "Type": "daterange" + } + ] + }, { "Input": "يونايتد يسعى لإنهاء مهمته أمام روما | يلاكورة | 2021", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { diff --git a/Specs/DateTime/Arabic/DatePeriodParser.json b/Specs/DateTime/Arabic/DatePeriodParser.json index 9baf49161d..881872e9ae 100644 --- a/Specs/DateTime/Arabic/DatePeriodParser.json +++ b/Specs/DateTime/Arabic/DatePeriodParser.json @@ -5,7 +5,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -28,17 +27,16 @@ ] }, { - "Input": "سأخرج من 4 إلى 23 في الشهر المقبل", + "Input": "سأخرج من 4-23 في الشهر المقبل", "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { "Text": "من 4-23 في الشهر المقبل", - "Start": -1, + "Start": 6, "Length": 23, "Type": "daterange", "Value": { @@ -61,7 +59,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -89,13 +86,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "من الجمعة 11 حتى الثلاثاء 15", - "Start": 6, - "Length": 28, + "Text": "الجمعة 11 حتى الثلاثاء 15", + "Start": 9, + "Length": 25, "Type": "daterange", "Value": { "Timex": "(2016-11-11,2016-11-15,P4D)", @@ -117,13 +113,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "4 إلى 23 الشهر المقبل", - "Start": 9, - "Length": 21, + "Text": "من 4 إلى 23 الشهر المقبل", + "Start": 6, + "Length": 24, "Type": "daterange", "Value": { "Timex": "(2016-12-04,2016-12-23,P19D)", @@ -145,13 +140,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "4 حتى 23 من هذا الشهر", - "Start": 9, - "Length": 21, + "Text": "من 4 حتى 23 من هذا الشهر", + "Start": 6, + "Length": 24, "Type": "daterange", "Value": { "Timex": "(2016-11-04,2016-11-23,P19D)", @@ -173,7 +167,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -201,7 +194,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -229,7 +221,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -257,7 +248,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -285,7 +275,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -313,12 +302,11 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "هذا الاسبوع", - "Start": -1, + "Text": "هذا الأسبوع", + "Start": 9, "Length": 11, "Type": "daterange", "Value": { @@ -341,12 +329,11 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "الاسبوع القادم", - "Start": -1, + "Text": "الأسبوع القادم", + "Start": 9, "Length": 14, "Type": "daterange", "Value": { @@ -369,7 +356,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -396,8 +382,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -425,7 +410,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -452,8 +436,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -480,8 +463,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -509,7 +491,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -537,7 +518,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -565,7 +545,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -588,18 +567,17 @@ ] }, { - "Input": "شهر سبتمبر 16", + "Input": "من شهر سبتمبر 16", "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "شهر سبتمبر 17", - "Start": -1, - "Length": 13, + "Text": "من شهر سبتمبر 16", + "Start": 0, + "Length": 16, "Type": "daterange", "Value": { "Timex": "XXXX-09-16", @@ -620,8 +598,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -648,13 +625,12 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "2015-3", - "Start": -1, + "Text": "3-2015", + "Start": 6, "Length": 6, "Type": "daterange", "Value": { @@ -676,8 +652,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -704,8 +679,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -733,7 +707,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -761,7 +734,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -789,7 +761,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -817,7 +788,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -845,7 +815,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -873,7 +842,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -901,7 +869,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -929,7 +896,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -957,7 +923,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -985,7 +950,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1008,18 +972,17 @@ ] }, { - "Input": "سأخرج في 12 يناير2016 - 2016/01/22", + "Input": "سأخرج في 12 يناير, 2016 - 2016/01/22", "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "يناير12 ,2016 - 2016/01/22", - "Start": -1, - "Length": 26, + "Text": "12 يناير, 2016 - 2016/01/22", + "Start": 9, + "Length": 28, "Type": "daterange", "Value": { "Timex": "(2016-01-12,2016-01-22,P10D)", @@ -1041,13 +1004,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": " الأول من يناير حتى الأربعاء ، 22 يناير", - "Start": 8, - "Length": 41, + "Text": "الأول من يناير حتى الأربعاء ، 22 يناير", + "Start": 9, + "Length": 40, "Type": "daterange", "Value": { "Timex": "(XXXX-01-01,XXXX-01-22,P21D)", @@ -1069,7 +1031,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1091,13 +1052,39 @@ } ] }, + { + "Input": "سأخرج 2 أكتوبر إلى 22 أكتوبر", + "Context": { + "ReferenceDateTime": "2016-11-07T00:00:00" + }, + "IgnoreResolution": "true", + "NotSupportedByDesign": "java, javascript, python", + "Results": [ + { + "Text": "2 أكتوبر إلى 22 أكتوبر", + "Start": 6, + "Length": 22, + "Type": "daterange", + "Value": { + "Timex": "(XXXX-10-02,XXXX-10-22,P20D)", + "FutureResolution": { + "startDate": "2017-10-02", + "endDate": "2017-10-22" + }, + "PastResolution": { + "startDate": "2016-10-02", + "endDate": "2016-10-22" + } + } + } + ] + }, { "Input": "سأخرج بين 2 أكتوبر و 22 أكتوبر", "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1125,13 +1112,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": " 19-20 نوفمبر", - "Start": 5, - "Length": 13, + "Text": "19-20 نوفمبر", + "Start": 6, + "Length": 12, "Type": "daterange", "Value": { "Timex": "(XXXX-11-19,XXXX-11-20,P1D)", @@ -1153,7 +1139,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1181,13 +1166,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "نوفمبر بين 19 و 20", - "Start": 13, - "Length": 18, + "Text": "شهر نوفمبر بين 19 و 20", + "Start": 9, + "Length": 22, "Type": "daterange", "Value": { "Timex": "(XXXX-11-19,XXXX-11-20,P1D)", @@ -1209,13 +1193,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "بقية الأسبوع", - "Start": -1, - "Length": 13, + "Text": "بقية الأسبوع", + "Start": 6, + "Length": 12, "Type": "daterange", "Value": { "Timex": "(2016-11-07,2016-11-13,P6D)", @@ -1232,18 +1215,17 @@ ] }, { - "Input": "سأخرج بقية الأسبوع", + "Input": "سأخرج باقي الأسبوع", "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "بقية الأسبوع", - "Start": -1, - "Length": 13, + "Text": "باقي الأسبوع", + "Start": 6, + "Length": 12, "Type": "daterange", "Value": { "Timex": "(2016-11-07,2016-11-13,P6D)", @@ -1265,7 +1247,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1293,7 +1274,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1321,12 +1301,11 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "بقية اسبوعي", - "Start": -1, + "Text": "بقية أسبوعي", + "Start": 6, "Length": 11, "Type": "daterange", "Value": { @@ -1349,7 +1328,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1377,7 +1355,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1405,7 +1382,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1433,12 +1409,11 @@ "ReferenceDateTime": "2016-11-13T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "باقي اسبوعي", - "Start": -1, + "Text": "باقي أسبوعي", + "Start": 6, "Length": 11, "Type": "daterange", "Value": { @@ -1461,12 +1436,11 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "عطلة نهاية الاسبوع", - "Start": -1, + "Text": "عطلة نهاية الأسبوع", + "Start": 17, "Length": 18, "Type": "daterange", "Value": { @@ -1489,7 +1463,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1516,8 +1489,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1544,8 +1516,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1573,12 +1544,11 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "العام القادم", - "Start": -1, + "Text": "العام المقبل", + "Start": 6, "Length": 12, "Type": "daterange", "Value": { @@ -1600,8 +1570,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1629,13 +1598,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "الأشهر الثلاثة القادمة", - "Start": 9, - "Length": 22, + "Text": "في الأشهر الثلاثة القادمة", + "Start": 6, + "Length": 25, "Type": "daterange", "Value": { "Timex": "(2016-11-08,2017-02-08,P3M)", @@ -1657,7 +1625,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1685,7 +1652,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1713,7 +1679,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1741,13 +1706,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "الأسابيع الثلاثة الماضية", - "Start": 9, - "Length": 24, + "Text": "في الأسابيع الثلاثة الماضية", + "Start": 6, + "Length": 27, "Type": "daterange", "Value": { "Timex": "(2016-10-17,2016-11-07,P3W)", @@ -1769,7 +1733,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1797,7 +1760,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1825,7 +1787,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1852,8 +1813,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1881,7 +1841,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1904,18 +1863,17 @@ ] }, { - "Input": "الربع الثالث 2016", + "Input": "سأخرج في الربع الثالث 2016", "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "سأخرج في الربع الثالث 2017", - "Start": -1, - "Length": 26, + "Text": "الربع الثالث 2016", + "Start": 9, + "Length": 17, "Type": "daterange", "Value": { "Timex": "(2016-07-01,2016-10-01,P3M)", @@ -1937,7 +1895,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1958,8 +1915,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -1980,8 +1936,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2002,8 +1957,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2024,8 +1978,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2046,8 +1999,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2069,7 +2021,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2097,7 +2048,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2125,13 +2075,12 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "في وقت لاحق هذا الشهر", - "Start": -1, - "Length": 21, + "Text": "في وقت لاحق من هذا الشهر", + "Start": 23, + "Length": 24, "Type": "daterange", "Value": { "Timex": "2017-11", @@ -2153,7 +2102,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2181,7 +2129,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2209,7 +2156,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2237,7 +2183,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2265,7 +2210,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2293,7 +2237,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2321,7 +2264,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2349,7 +2291,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2377,7 +2318,6 @@ "ReferenceDateTime": "2017-11-14T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2405,7 +2345,6 @@ "ReferenceDateTime": "2017-11-14T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2433,7 +2372,6 @@ "ReferenceDateTime": "2017-11-14T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2461,12 +2399,11 @@ "ReferenceDateTime": "2017-11-17T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "هذا الاسبوع", - "Start": -1, + "Text": "هذا الأسبوع", + "Start": 17, "Length": 11, "Type": "daterange", "Value": { @@ -2489,7 +2426,6 @@ "ReferenceDateTime": "2017-11-17T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2517,7 +2453,6 @@ "ReferenceDateTime": "2017-11-20T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2545,7 +2480,6 @@ "ReferenceDateTime": "2017-11-20T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2573,7 +2507,6 @@ "ReferenceDateTime": "2017-11-20T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2601,7 +2534,6 @@ "ReferenceDateTime": "2017-11-20T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2628,8 +2560,7 @@ "Context": { "ReferenceDateTime": "2017-12-18T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2657,13 +2588,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "في السبعينيات", - "Start": 0, - "Length": 13, + "Text": "السبعينيات", + "Start": 3, + "Length": 10, "Type": "daterange", "Value": { "Timex": "(1970-01-01,1980-01-01,P10Y)", @@ -2685,7 +2615,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2713,13 +2642,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "1970.0", - "Start": -1, - "Length": 6, + "Text": "1970", + "Start": 3, + "Length": 4, "Type": "daterange", "Value": { "Timex": "(1970-01-01,1980-01-01,P10Y)", @@ -2735,13 +2663,39 @@ } ] }, + { + "Input": "في سبعينيات", + "Context": { + "ReferenceDateTime": "2016-11-07T00:00:00" + }, + "IgnoreResolution": "true", + "NotSupportedByDesign": "java, javascript, python", + "Results": [ + { + "Text": "سبعينيات", + "Start": 3, + "Length": 8, + "Type": "daterange", + "Value": { + "Timex": "(XX70-01-01,XX80-01-01,P10Y)", + "FutureResolution": { + "startDate": "2070-01-01", + "endDate": "2080-01-01" + }, + "PastResolution": { + "startDate": "1970-01-01", + "endDate": "1980-01-01" + } + } + } + ] + }, { "Input": "السبعينيات", "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2769,7 +2723,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2797,7 +2750,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2825,13 +2777,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "السبعينات", - "Start": -1, - "Length": 9, + "Text": "السبعينيات", + "Start": 3, + "Length": 10, "Type": "daterange", "Value": { "Timex": "(XX70-01-01,XX80-01-01,P10Y)", @@ -2853,13 +2804,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "السبعينيات", + "Text": "السبعينيات القرن التاسع عشر", "Start": 3, - "Length": 10, + "Length": 27, "Type": "daterange", "Value": { "Timex": "(1970-01-01,1980-01-01,P10Y)", @@ -2881,7 +2831,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2909,7 +2858,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2937,13 +2885,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": " الألفين ", - "Start": 2, - "Length": 9, + "Text": "الألفين", + "Start": 3, + "Length": 7, "Type": "daterange", "Value": { "Timex": "(2000-01-01,2010-01-01,P10Y)", @@ -2965,7 +2912,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -2993,7 +2939,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3021,7 +2966,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3044,18 +2988,17 @@ ] }, { - "Input": "حدث ذلك في يونيو من عام تسعة وتسعين وتسعين", + "Input": "حدث ذلك في يونيو من عام تسعة عشر تسعة وتسعون", "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "يونيو من عام تسعة وتسعين وتسعين", + "Text": "يونيو من عام تسعة عشر تسعة وتسعون", "Start": 11, - "Length": 31, + "Length": 33, "Type": "daterange", "Value": { "Timex": "1999-06", @@ -3077,7 +3020,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3105,12 +3047,11 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "ألف وسبعمائة وتسعة وثمانون", - "Start": -1, + "Text": "ألف وسبعمائة وتسعة وثمانين", + "Start": 3, "Length": 26, "Type": "daterange", "Value": { @@ -3133,7 +3074,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3161,7 +3101,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3189,7 +3128,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3211,7 +3149,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3239,7 +3176,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3267,7 +3203,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3295,7 +3230,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3318,18 +3252,17 @@ ] }, { - "Input": "سأخرج في عطلة نهاية الأسبوع بعد اليوم التالي", + "Input": "سأخرج في عطلة نهاية الأسبوع بعد التالي", "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "عطلة نهاية الأسبوع بعد اليوم التالي", + "Text": "عطلة نهاية الأسبوع بعد التالي", "Start": 9, - "Length": 35, + "Length": 29, "Type": "daterange", "Value": { "Timex": "2016-W47-WE", @@ -3351,12 +3284,11 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "2018-2014", - "Start": -1, + "Text": "2014-2018", + "Start": 10, "Length": 9, "Type": "daterange", "Value": { @@ -3379,7 +3311,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3407,7 +3338,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3435,13 +3365,12 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "من 2014 حتى 2018.", + "Text": "من 2014 حتى 2018", "Start": 7, - "Length": 17, + "Length": 16, "Type": "daterange", "Value": { "Timex": "(2014-01-01,2018-01-01,P4Y)", @@ -3463,7 +3392,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3485,13 +3413,39 @@ } ] }, + { + "Input": "حدث ذلك في 2 العقود الماضية", + "Context": { + "ReferenceDateTime": "2016-11-07T00:00:00" + }, + "IgnoreResolution": "true", + "NotSupportedByDesign": "java, javascript, python", + "Results": [ + { + "Text": "2 العقود الماضية", + "Start": 11, + "Length": 16, + "Type": "daterange", + "Value": { + "Timex": "(1990-01-01,2010-01-01,P20Y)", + "FutureResolution": { + "startDate": "1990-01-01", + "endDate": "2010-01-01" + }, + "PastResolution": { + "startDate": "1990-01-01", + "endDate": "2010-01-01" + } + } + } + ] + }, { "Input": "حدث ذلك في العقدين الماضيين.", "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3518,8 +3472,7 @@ "Context": { "ReferenceDateTime": "2016-11-07T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3547,7 +3500,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3575,7 +3527,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3603,7 +3554,6 @@ "ReferenceDateTime": "2016-11-07T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3631,7 +3581,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3660,7 +3609,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3689,7 +3637,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3717,8 +3664,7 @@ "Context": { "ReferenceDateTime": "2017-11-08T00:00:00" }, - "IgnoreResolution": "true", - "NotSupported": "dotnet", + "IgnoreResolution": "false", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3747,13 +3693,12 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { - "Text": "منتصف الأسبوع المقبل", - "Start": 33, - "Length": 20, + "Text": "في منتصف الأسبوع المقبل", + "Start": 30, + "Length": 23, "Type": "daterange", "Value": { "Timex": "2017-W46", @@ -3776,7 +3721,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { @@ -3805,7 +3749,6 @@ "ReferenceDateTime": "2017-11-08T00:00:00" }, "IgnoreResolution": "true", - "NotSupported": "dotnet", "NotSupportedByDesign": "java, javascript, python", "Results": [ { diff --git a/Specs/DateTime/Korean/DateExtractor.json b/Specs/DateTime/Korean/DateExtractor.json index 9093011395..1ffbfb744a 100644 --- a/Specs/DateTime/Korean/DateExtractor.json +++ b/Specs/DateTime/Korean/DateExtractor.json @@ -958,34 +958,6 @@ } ] }, - { - "Input": "너는 지금부터 한 달에 두 번씩 일요일마다 시간 괜찮니? ", - "Comment": "Not a proper sentence in Korean and it is not possible to give a better translation of the original case 'Are you available two sundays from now?'", - "NotSupported": "dotnet", - "NotSupportedByDesign": "javascript,python,java", - "Results": [ - { - "Text": "지금부터 한 달에 두 번씩 일요일마다", - "Type": "date", - "Start": 3, - "Length": 20 - } - ] - }, - { - "Input": "너는 후에 두 번의 월요일에 시간 괜찮니?", - "Comment": "Not a proper sentence in Korean and it is not possible to give a better translation of the original case 'Are you available two monday later?'", - "NotSupported": "dotnet", - "NotSupportedByDesign": "javascript,python,java", - "Results": [ - { - "Text": "후에 두 번의 월요일", - "Type": "date", - "Start": 3, - "Length": 11 - } - ] - }, { "Input": "너는모레에 괜찮니?", "NotSupportedByDesign": "javascript,python,java", diff --git a/Specs/DateTime/Korean/DateParser.json b/Specs/DateTime/Korean/DateParser.json index 4a327d4151..f3a814aee2 100644 --- a/Specs/DateTime/Korean/DateParser.json +++ b/Specs/DateTime/Korean/DateParser.json @@ -1884,58 +1884,6 @@ } ] }, - { - "Input": "너는 지금부터 한 달에 두 번씩 일요일마다 시간 괜찮니? ", - "Comment": "Not a proper sentence in Korean and it is not possible to give a better translation of the original case 'Are you available two sundays from now?'", - "Context": { - "ReferenceDateTime": "2018-05-07T00:00:00" - }, - "NotSupported": "dotnet", - "NotSupportedByDesign": "javascript,python,java", - "Results": [ - { - "Text": "지금부터 한 달에 두 번씩 일요일마다", - "Type": "date", - "Value": { - "Timex": "2018-05-20", - "FutureResolution": { - "date": "2018-05-20" - }, - "PastResolution": { - "date": "2018-05-20" - } - }, - "Start": 18, - "Length": 20 - } - ] - }, - { - "Input": "너는 후에 두 번의 월요일에 시간 괜찮니?", - "Comment": "Not a proper sentence in Korean and it is not possible to give a better translation of the original case 'Are you available two monday later?'", - "Context": { - "ReferenceDateTime": "2018-05-07T00:00:00" - }, - "NotSupported": "dotnet", - "NotSupportedByDesign": "javascript,python,java", - "Results": [ - { - "Text": "후에 두 번의 월요일", - "Type": "date", - "Value": { - "Timex": "2018-05-21", - "FutureResolution": { - "date": "2018-05-21" - }, - "PastResolution": { - "date": "2018-05-21" - } - }, - "Start": 18, - "Length": 16 - } - ] - }, { "Input": "너는모레에 괜찮니?", "Context": {