diff --git a/dateparser/data/date_translation_data/uk.py b/dateparser/data/date_translation_data/uk.py index 474755584..123713706 100644 --- a/dateparser/data/date_translation_data/uk.py +++ b/dateparser/data/date_translation_data/uk.py @@ -13,6 +13,7 @@ ], "march": [ "бер", + "берез", "березень", "березня" ], @@ -47,6 +48,7 @@ ], "september": [ "вер", + "верес", "вересень", "вересня" ], @@ -59,6 +61,7 @@ "november": [ "лис", "лист", + "листоп", "листопад", "листопада" ], @@ -70,6 +73,8 @@ ], "monday": [ "пн", + "пон", + "понед", "понеділок", "пн", "пон", @@ -78,6 +83,7 @@ ], "tuesday": [ "вт", + "вів", "вівторок", "вт", "вів", @@ -85,8 +91,9 @@ "вівторок" ], "wednesday": [ - "середа", "ср", + "сер", + "середа", "ср", "сер", "серед", @@ -94,18 +101,21 @@ "середу" ], "thursday": [ - "четвер", "чт", + "чет", + "четвер", "чт", "чет", "четвер" ], "friday": [ - "п'ятниця", - "пт" + "пт", + "пят", + "п'ятниця" ], "saturday": [ "сб", + "суб", "субота", "сб", "суб", @@ -115,6 +125,7 @@ ], "sunday": [ "нд", + "нед", "неділя", "нд", "нед", @@ -123,14 +134,26 @@ "неділю" ], "am": [ - "дп" + "дп", + "до полудня" ], "pm": [ - "пп" + "пп", + "після полудня", + "пополудні", + "пополудні" ], "year": [ "р", "рік", + "року", + "років", + "роками", + "роках", + "роки", + "рокові", + "роком", + "році", "р", "рік", "роки", @@ -142,6 +165,14 @@ "month": [ "міс", "місяць", + "місяця", + "місяців", + "місяцями", + "місяцях", + "місяці", + "місяцеві", + "місяцю", + "місяцем", "м", "міс", "місяць", @@ -154,6 +185,11 @@ ], "week": [ "тиж", + "тижня", + "тижневі", + "тижню", + "тижнем", + "тижню", "тиждень", "т", "тиждень", @@ -164,6 +200,10 @@ ], "day": [ "д", + "дня", + "дневі", + "дню", + "днем", "день", "д", "дн", @@ -178,6 +218,9 @@ "hour": [ "год", "година", + "годині", + "годиною", + "годино", "г", "год", "годин", @@ -190,6 +233,9 @@ "minute": [ "хв", "хвилина", + "хвилині", + "хвилиною", + "хвилино", "хв", "хвилини", "хвилин", @@ -198,6 +244,9 @@ "second": [ "с", "секунда", + "секунді", + "секундою", + "секундо", "с", "секунда", "секунди", @@ -269,10 +318,12 @@ "\\1 hour ago": [ "(\\d+) год тому", "(\\d+) години тому", + "(\\d+) година тому", "(\\d+) годину тому" ], "\\1 minute ago": [ "(\\d+) хв тому", + "(\\d+) хвилина тому", "(\\d+) хвилини тому", "(\\d+) хвилину тому" ], @@ -283,6 +334,7 @@ ], "\\1 second ago": [ "(\\d+) с тому", + "(\\d+) секунда тому", "(\\d+) секунди тому", "(\\d+) секунду тому" ], diff --git a/dateparser_data/cldr_language_data/date_translation_data/uk.json b/dateparser_data/cldr_language_data/date_translation_data/uk.json index e0f1e321f..58a865be8 100644 --- a/dateparser_data/cldr_language_data/date_translation_data/uk.json +++ b/dateparser_data/cldr_language_data/date_translation_data/uk.json @@ -13,6 +13,7 @@ ], "march": [ "бер", + "берез", "березень", "березня" ], @@ -47,6 +48,7 @@ ], "september": [ "вер", + "верес", "вересень", "вересня" ], @@ -59,6 +61,7 @@ "november": [ "лис", "лист", + "листоп", "листопад", "листопада" ], @@ -70,65 +73,111 @@ ], "monday": [ "пн", + "пон", + "понед", "понеділок" ], "tuesday": [ "вт", + "вів", "вівторок" ], "wednesday": [ - "середа", - "ср" + "ср", + "сер", + "середа" ], "thursday": [ - "четвер", - "чт" + "чт", + "чет", + "четвер" ], "friday": [ - "п'ятниця", - "пт" + "пт", + "пят", + "п'ятниця" ], "saturday": [ "сб", + "суб", "субота" ], "sunday": [ "нд", + "нед", "неділя" ], "am": [ - "дп" + "дп", + "до полудня" ], "pm": [ - "пп" + "пп", + "після полудня", + "пополудні", + "пополудні" ], "year": [ "р", - "рік" + "рік", + "року", + "років", + "роками", + "роках", + "роки", + "рокові", + "роком", + "році" ], "month": [ "міс", - "місяць" + "місяць", + "місяця", + "місяців", + "місяцями", + "місяцях", + "місяці", + "місяцеві", + "місяцю", + "місяцем" ], "week": [ "тиж", + "тижня", + "тижневі", + "тижню", + "тижнем", + "тижню", "тиждень" ], "day": [ "д", + "дня", + "дневі", + "дню", + "днем", "день" ], "hour": [ "год", - "година" + "година", + "годині", + "годиною", + "годино" ], "minute": [ "хв", - "хвилина" + "хвилина", + "хвилині", + "хвилиною", + "хвилино" ], "second": [ "с", - "секунда" + "секунда", + "секунді", + "секундою", + "секундо" ], "relative-type": { "0 day ago": [ @@ -187,10 +236,12 @@ "\\1 hour ago": [ "{0} год тому", "{0} години тому", + "(\\d+) година тому", "{0} годину тому" ], "\\1 minute ago": [ "{0} хв тому", + "(\\d+) хвилина тому", "{0} хвилини тому", "{0} хвилину тому" ], @@ -201,6 +252,7 @@ ], "\\1 second ago": [ "{0} с тому", + "(\\d+) секунда тому", "{0} секунди тому", "{0} секунду тому" ], @@ -258,4 +310,4 @@ ] }, "locale_specific": {} -} \ No newline at end of file +} diff --git a/tests/test_date_parser.py b/tests/test_date_parser.py index fb2209c0b..53c805977 100644 --- a/tests/test_date_parser.py +++ b/tests/test_date_parser.py @@ -138,8 +138,11 @@ def setUp(self): param('5 жніўня 2015 года у 13:34', datetime(2015, 8, 5, 13, 34)), # Ukrainian dates param('2015-кві-12', datetime(2015, 4, 12)), + param('2020-берез-11', datetime(2020, 3, 11)), param('21 чер 2013 3:13', datetime(2013, 6, 21, 3, 13)), + param('17 верес 2015 6:17', datetime(2015, 9, 17, 6, 17)), param('12 лютого 2012, 13:12:23', datetime(2012, 2, 12, 13, 12, 23)), + param('10 листоп 2017, 10:00:00', datetime(2017, 11, 10, 10, 00, 00)), param('вів о 14:04', datetime(2012, 11, 13, 14, 4)), # Tagalog dates param('12 Hulyo 2003 13:01', datetime(2003, 7, 12, 13, 1)), @@ -323,8 +326,11 @@ def test_stringified_datetime_should_parse_fine(self): param('5 жніўня 2015 года у 13:34', datetime(2015, 8, 5, 13, 34)), # Ukrainian dates param('2015-кві-12', datetime(2015, 4, 12)), + param('2020-берез-11', datetime(2020, 3, 11)), param('21 чер 2013 3:13', datetime(2013, 6, 21, 3, 13)), + param('17 верес 2015 6:17', datetime(2015, 9, 17, 6, 17)), param('12 лютого 2012, 13:12:23', datetime(2012, 2, 12, 13, 12, 23)), + param('10 листоп 2017, 10:00:00', datetime(2017, 11, 10, 10, 00, 00)), param('вів о 14:04', datetime(2012, 11, 13, 14, 4)), # Filipino dates param('12 Hulyo 2003 13:01', datetime(2003, 7, 12, 13, 1)), diff --git a/tests/test_freshness_date_parser.py b/tests/test_freshness_date_parser.py index bc87d6bcb..51673485a 100644 --- a/tests/test_freshness_date_parser.py +++ b/tests/test_freshness_date_parser.py @@ -546,6 +546,7 @@ def test_relative_past_dates_with_time_as_period(self, date_string, ago, period) param("32 dakika önce", ago={'minutes': 32}, period='day'), # uk param("3 року тому", ago={'years': 3}, period='year'), + param("5 років тому", ago={'years': 5}, period='year'), # uz-Cyrl param("10 ҳафта олдин", ago={'weeks': 10}, period='week'), # uz-Latn @@ -1034,6 +1035,7 @@ def test_relative_past_dates(self, date_string, ago, period): param("32 dakika önce", ago={'minutes': 32}, period='day'), # uk param("3 року тому", ago={'years': 3}, period='year'), + param("5 років тому", ago={'years': 5}, period='year'), # uz-Cyrl param("10 ҳафта олдин", ago={'weeks': 10}, period='week'), # uz-Latn @@ -1411,6 +1413,7 @@ def test_normalized_relative_dates(self, date_string, ago, period): # uk param("через 8 хвилини", in_future={'minutes': 8}, period='day'), param("через 10 тижня", in_future={'weeks': 10}, period='week'), + param("через 10 днів", in_future={'days': 10}, period='day'), # uz-Cyrl param("12 кундан сўнг", in_future={'days': 12}, period='day'), param("10 дақиқадан сўнг", in_future={'minutes': 10}, period='day'), diff --git a/tests/test_languages.py b/tests/test_languages.py index daecac2f4..e83d4d7ef 100644 --- a/tests/test_languages.py +++ b/tests/test_languages.py @@ -89,8 +89,10 @@ def setUp(self): param('pl', "29 listopada 2014 o 08:40", "29 november 2014 08:40"), # Ukrainian param('uk', "30 листопада 2013 о 04:27", "30 november 2013 04:27"), + param('uk', "22 верес 2021 о 07:37", "22 september 2021 07:37"), param('uk', "28 лютого 2020 року об 11:57", "28 february 2020 year 11:57"), param('uk', "середу, 28 лютого 2020 року об 11:57", "wednesday 28 february 2020 year 11:57"), + param('uk', "понед, 12 вересня 2022 року об 09:22", "monday 12 september 2022 year 09:22"), # Belarusian param('be', "5 снежня 2015 г. у 12:00", "5 december 2015 year. 12:00"), param('be', "11 верасня 2015 г. у 12:11", "11 september 2015 year. 12:11"),