diff --git a/dateparser/data/date_translation_data/it.py b/dateparser/data/date_translation_data/it.py index fee99ccc1..a4d16b6a1 100644 --- a/dateparser/data/date_translation_data/it.py +++ b/dateparser/data/date_translation_data/it.py @@ -3,120 +3,125 @@ "date_order": "DMY", "january": [ "gen", - "gennaio" + "gennaio", ], "february": [ "feb", - "febbraio" + "febbraio", ], "march": [ "mar", - "marzo" + "marzo", ], "april": [ "apr", - "aprile" + "aprile", ], "may": [ "mag", - "maggio" + "maggio", ], "june": [ "giu", - "giugno" + "giugno", ], "july": [ "lug", - "luglio" + "luglio", ], "august": [ "ago", - "agosto" + "agosto", ], "september": [ "set", - "settembre" + "settembre", ], "october": [ "ott", - "ottobre" + "ottobre", ], "november": [ "nov", - "novembre" + "novembre", ], "december": [ "dic", - "dicembre" + "dicembre", ], "monday": [ "lun", - "lunedì" + "lunedì", ], "tuesday": [ "mar", - "martedì" + "martedì", ], "wednesday": [ "mer", - "mercoledì" + "mercoledì", ], "thursday": [ "gio", - "giovedì" + "giovedì", ], "friday": [ "ven", - "venerdì" + "venerdì", ], "saturday": [ "sab", - "sabato" + "sabato", ], "sunday": [ "dom", - "domenica" + "domenica", ], "am": [ - "am" + "am", + "mattina", ], "pm": [ - "pm" + "pm", + "pomeriggio", + ], + "decade": [ + "decade", ], "year": [ "anno", - "anni" + "anni", ], "month": [ "mese", - "mesi" + "mesi", ], "week": [ "sett", "settimana", - "settimane" + "settimane", ], "day": [ "g", "giorno", - "giorni" + "giorni", ], "hour": [ "h", "ora", - "ore" + "ore", ], "minute": [ "m", "min", "minuto", - "minuti" + "minuti", ], "second": [ "s", "sec", "secondo", - "secondi" + "secondi", ], "relative-type": { "0 day ago": [ @@ -133,6 +138,7 @@ ], "0 second ago": [ "ora" + "adesso" ], "0 week ago": [ "questa settimana" @@ -166,79 +172,124 @@ ], "2 day ago": [ "altro ieri" - ] + ], + "in 2 days": [ + "dopodomani" + ], }, "relative-type-regex": { "\\1 day ago": [ "(\\d+[.,]?\\d*) g fa", "(\\d+[.,]?\\d*) gg fa", "(\\d+[.,]?\\d*) giorni fa", - "(\\d+[.,]?\\d*) giorno fa" + "(\\d+[.,]?\\d*) giorno fa", ], "\\1 hour ago": [ "(\\d+[.,]?\\d*) h fa", "(\\d+[.,]?\\d*) ora fa", - "(\\d+[.,]?\\d*) ore fa" + "(\\d+[.,]?\\d*) ore fa", ], "\\1 minute ago": [ "(\\d+[.,]?\\d*) min fa", "(\\d+[.,]?\\d*) minuti fa", - "(\\d+[.,]?\\d*) minuto fa" + "(\\d+[.,]?\\d*) minuto fa", ], "\\1 month ago": [ "(\\d+[.,]?\\d*) mese fa", - "(\\d+[.,]?\\d*) mesi fa" + "(\\d+[.,]?\\d*) mesi fa", ], "\\1 second ago": [ "(\\d+[.,]?\\d*) s fa", "(\\d+[.,]?\\d*) sec fa", "(\\d+[.,]?\\d*) secondi fa", - "(\\d+[.,]?\\d*) secondo fa" + "(\\d+[.,]?\\d*) secondo fa", ], "\\1 week ago": [ "(\\d+[.,]?\\d*) sett fa", "(\\d+[.,]?\\d*) settimana fa", - "(\\d+[.,]?\\d*) settimane fa" + "(\\d+[.,]?\\d*) settimane fa", ], "\\1 year ago": [ "(\\d+[.,]?\\d*) anni fa", - "(\\d+[.,]?\\d*) anno fa" + "(\\d+[.,]?\\d*) anno fa", ], "in \\1 day": [ "tra (\\d+[.,]?\\d*) g", "tra (\\d+[.,]?\\d*) gg", "tra (\\d+[.,]?\\d*) giorni", "tra (\\d+[.,]?\\d*) giorno" + "fra (\\d+[.,]?\\d*) g", + "fra (\\d+[.,]?\\d*) gg", + "fra (\\d+[.,]?\\d*) giorni", + "fra (\\d+[.,]?\\d*) giorno", + "(\\d+[.,]?\\d*) g a partire da ora", + "(\\d+[.,]?\\d*) gg a partire da ora", + "(\\d+[.,]?\\d*) giorni a partire da ora", + "(\\d+[.,]?\\d*) giorno a partire da ora", ], "in \\1 hour": [ "tra (\\d+[.,]?\\d*) h", "tra (\\d+[.,]?\\d*) ora", - "tra (\\d+[.,]?\\d*) ore" + "tra (\\d+[.,]?\\d*) ore", + "fra (\\d+[.,]?\\d*) h", + "fra (\\d+[.,]?\\d*) ora", + "fra (\\d+[.,]?\\d*) ore", + "(\\d+[.,]?\\d*) h a partire da ora", + "(\\d+[.,]?\\d*) ora a partire da ora", + "(\\d+[.,]?\\d*) ore a partire da ora", ], "in \\1 minute": [ "tra (\\d+[.,]?\\d*) min", - "tra (\\d+[.,]?\\d*) minuti", - "tra (\\d+[.,]?\\d*) minuto" + "tra (\\d+[.,]?\\d*) minuto", + "tra (\\d+[.,]?\\d*) minuti" + "fra (\\d+[.,]?\\d*) min", + "fra (\\d+[.,]?\\d*) minuto", + "fra (\\d+[.,]?\\d*) minuti", + "(\\d+[.,]?\\d*) min a partire da ora", + "(\\d+[.,]?\\d*) minuto a partire da ora", + "(\\d+[.,]?\\d*) minuti a partire da ora", ], "in \\1 month": [ "tra (\\d+[.,]?\\d*) mese", "tra (\\d+[.,]?\\d*) mesi" + "fra (\\d+[.,]?\\d*) mese", + "fra (\\d+[.,]?\\d*) mesi", + "(\\d+[.,]?\\d*) mese a partire da ora", + "(\\d+[.,]?\\d*) mesi a partire da ora", ], "in \\1 second": [ "tra (\\d+[.,]?\\d*) s", "tra (\\d+[.,]?\\d*) sec", - "tra (\\d+[.,]?\\d*) secondi", - "tra (\\d+[.,]?\\d*) secondo" + "tra (\\d+[.,]?\\d*) secondo", + "tra (\\d+[.,]?\\d*) secondi" + "fra (\\d+[.,]?\\d*) s", + "fra (\\d+[.,]?\\d*) sec", + "fra (\\d+[.,]?\\d*) secondo", + "fra (\\d+[.,]?\\d*) secondi", + "(\\d+[.,]?\\d*) s a partire da ora", + "(\\d+[.,]?\\d*) sec a partire da ora", + "(\\d+[.,]?\\d*) secondo a partire da ora", + "(\\d+[.,]?\\d*) secondi a partire da ora", ], "in \\1 week": [ "tra (\\d+[.,]?\\d*) sett", "tra (\\d+[.,]?\\d*) settimana", "tra (\\d+[.,]?\\d*) settimane" + "fra (\\d+[.,]?\\d*) sett", + "fra (\\d+[.,]?\\d*) settimana", + "fra (\\d+[.,]?\\d*) settimane", + "(\\d+[.,]?\\d*) sett a partire da ora", + "(\\d+[.,]?\\d*) settimana a partire da ora", + "(\\d+[.,]?\\d*) settimane a partire da ora", ], "in \\1 year": [ "tra (\\d+[.,]?\\d*) anni", "tra (\\d+[.,]?\\d*) anno" - ] + "fra (\\d+[.,]?\\d*) anni", + "fra (\\d+[.,]?\\d*) anno", + "(\\d+[.,]?\\d*) anni a partire da ora", + "(\\d+[.,]?\\d*) anno a partire da ora", + ], }, "locale_specific": { "it-CH": { @@ -254,6 +305,20 @@ "skip": [ "circa", "e", + "alle", + "alla", + "all'", + "all", + "a", + "il", + "l'", + "l", + "lo", + "la", + "di", + "del", + "della", + "dell'", " ", "'", ",", @@ -265,18 +330,89 @@ "[", "]", "|", - "," + ",", + ], + "pertain": [ + "di", + "del", + "della", + "dell'", ], "sentence_splitter_group": 1, "ago": [ - "fa" + "fa", + "scorsa", + "scorso", ], "in": [ - "in" + "in", + "fra", + "tra", + "da ora", ], "simplifications": [ { "(\\d+[.,]?\\d*)\\s+ora": "\\1 ore" - } + }, + { + "un[']ora": "1 ore" + }, + { + "(?:12\\s+)?mezzogiorno": "12:00" + }, + { + "(?:12\\s+)?una": "13:00" + }, + { + "(?:12\\s+)?mezzanotte": "00:00" + }, + { + "(?:12\\s+)?una di notte": "01:00" + }, + { + "(\\d+)h(\\d+)m?": "\\1:\\2" + }, + { + "(?<=from\\s+)now": "tra" + }, + { + "less than 1 minute ago": "pochi secondi fa" + }, + { + "un": "1" + }, + { + "due": "2" + }, + { + "tre": "3" + }, + { + "quattro": "4" + }, + { + "cinque": "5" + }, + { + "sei": "6" + }, + { + "sette": "7" + }, + { + "otto": "8" + }, + { + "nove": "9" + }, + { + "dieci": "10" + }, + { + "undici": "11" + }, + { + "dodici": "12" + }, ] } diff --git a/dateparser_data/cldr_language_data/date_translation_data/it.json b/dateparser_data/cldr_language_data/date_translation_data/it.json index 7d7524ce5..71be3404c 100644 --- a/dateparser_data/cldr_language_data/date_translation_data/it.json +++ b/dateparser_data/cldr_language_data/date_translation_data/it.json @@ -198,36 +198,78 @@ "tra {0} g", "tra {0} gg", "tra {0} giorni", - "tra {0} giorno" + "tra {0} giorno", + "fra {0} g", + "fra {0} gg", + "fra {0} giorni", + "fra {0} giorno", + "{0} g a partire da ora", + "{0} gg a partire da ora", + "{0} giorni a partire da ora", + "{0} giorno a partire da ora" ], "in \\1 hour": [ "tra {0} h", "tra {0} ora", - "tra {0} ore" + "tra {0} ore", + "fra {0} h", + "fra {0} ora", + "fra {0} ore", + "{0} h a partire da ora", + "{0} ora a partire da ora", + "{0} ore a partire da ora" ], "in \\1 minute": [ "tra {0} min", "tra {0} minuti", - "tra {0} minuto" + "tra {0} minuto", + "fra {0} min", + "fra {0} minuti", + "fra {0} minuto", + "{0} min a partire da ora", + "{0} minuto a partire da ora", + "{0} minuti a partire da ora" ], "in \\1 month": [ "tra {0} mese", - "tra {0} mesi" + "tra {0} mesi", + "fra {0} mese", + "fra {0} mesi", + "{0} mese a partire da ora", + "{0} mesi a partire da ora" ], "in \\1 second": [ "tra {0} s", "tra {0} sec", "tra {0} secondi", - "tra {0} secondo" + "tra {0} secondo", + "fra {0} s", + "fra {0} sec", + "fra {0} secondi", + "fra {0} secondo", + "{0} s a partire da ora", + "{0} sec a partire da ora", + "{0} secondi a partire da ora", + "{0} secondo a partire da ora" ], "in \\1 week": [ "tra {0} sett", "tra {0} settimana", - "tra {0} settimane" + "tra {0} settimane", + "fra {0} sett", + "fra {0} settimana", + "fra {0} settimane", + "{0} sett a partire da ora", + "{0} settimana a partire da ora", + "{0} settimane a partire da ora" ], "in \\1 year": [ "tra {0} anni", - "tra {0} anno" + "tra {0} anno", + "fra {0} anni", + "fra {0} anno", + "{0} anni a partire da ora", + "{0} anno a partire da ora" ] }, "locale_specific": { @@ -241,4 +283,4 @@ "name": "it-VA" } } -} \ No newline at end of file +} diff --git a/dateparser_data/supplementary_language_data/date_translation_data/it.yaml b/dateparser_data/supplementary_language_data/date_translation_data/it.yaml index 100f41217..cb75cc16d 100644 --- a/dateparser_data/supplementary_language_data/date_translation_data/it.yaml +++ b/dateparser_data/supplementary_language_data/date_translation_data/it.yaml @@ -1,7 +1,25 @@ -skip: ["circa", "e"] +skip: ["circa", "e", "alle", "alla", "all'", "all", "a", "il", "l'", "l", "lo", "la", "di", "del", "della", "dell'"] +pertain: ["di", "del", "della", "dell'"] sentence_splitter_group : 1 +monday: + - lun +tuesday: + - mar +wednesday: + - mer +thursday: + - gio +friday: + - ven +saturday: + - sab +sunday: + - dom + +decade: + - decadi year: - anni month: @@ -12,19 +30,49 @@ day: - giorni hour: - ore + - h minute: - minuti + - min + - m second: - secondi + - s ago: - fa + - scorsa + - scorso in: - - in + - fra + - tra + - da ora relative-type: 2 day ago: - altro ieri + in 2 days: + - dopodomani simplifications: - (\d+[.,]?\d*)\s+ora: \1 ore + - un[']ora: 1 ore + - (?:12\s+)?mezzogiorno: '12:00' + - (?:12\s+)?una: '13:00' + - (?:12\s+)?mezzanotte: '00:00' + - (?:12\s+)?una di notte: '01:00' + - (\d+)h(\d+)m?: \1:\2 + - (?<=from\s+)now: tra + - less than 1 minute ago: pochi secondi fa + - un: '1' + - due: '2' + - tre: '3' + - quattro: '4' + - cinque: '5' + - sei: '6' + - sette: '7' + - otto: '8' + - nove: '9' + - dieci: '10' + - undici: '11' + - dodici: '12' diff --git a/tests/test_languages.py b/tests/test_languages.py index 96569fa9e..c6e30e574 100644 --- a/tests/test_languages.py +++ b/tests/test_languages.py @@ -879,11 +879,26 @@ def test_translation(self, shortname, datetime_string, expected_translation): param('es', "2 semanas", "2 week"), param('es', "2 año", "2 year"), # Italian + param('it', "fra 3 minuti", "in 3 minute"), + param('it', "5 giorni fa", "5 day ago"), + param('it', "anno prossimo", "in 1 year"), + param('it', "settimana scorsa", "1 week ago"), + param('it', "20 anni a partire da ora", "in 20 year"), param('it', "altro ieri", "2 day ago"), param('it', "ieri", "1 day ago"), param('it', "oggi", "0 day ago"), - param('it', "2 settimana fa", "2 week ago"), - param('it', "2 anno fa", "2 year ago"), + param('it', "dieci min fa", "10 minute ago"), + param('it', "2 settimane fa", "2 week ago"), + param('it', "2 anni fa", "2 year ago"), + param('it', "15 mesi fa", "15 month ago"), + param('it', "51 min fa", "51 minute ago"), + param('it', "tra 5 s", "in 5 second"), + param('it', "settimana prossima", "in 1 week"), + param('it', "5 mesi", "5 month"), + param('it', "dom", "sunday"), + param('it', "mercoledì", "wednesday"), + param('it', "fra 23 ore", "in 23 hour"), + param('it', "tra 3 h", "in 3 hour"), # Portuguese param('pt', "anteontem", "2 day ago"), param('pt', "ontem", "1 day ago"), @@ -1405,10 +1420,6 @@ def test_translation(self, shortname, datetime_string, expected_translation): param('is', "í næstu viku", "in 1 week"), param('is', "fyrir 3 mánuðum", "3 month ago"), param('is', "eftir 2 klst", "in 2 hour"), - # it - param('it', "tra 3 minuti", "in 3 minute"), - param('it', "5 giorni fa", "5 day ago"), - param('it', "anno prossimo", "in 1 year"), # jgo param('jgo', "ɛ́ gɛ mɔ́ 20 háwa", "20 hour ago"), param('jgo', "ɛ́ gɛ́ mɔ́ pɛsaŋ 5", "5 month ago"),