content: -- Copyright (c) 2016-present, Facebook, Inc.
  -- All rights reserved.
  --
  -- This source code is licensed under the BSD-style license found in the
  -- LICENSE file in the root directory of this source tree.
  
  
  {-# LANGUAGE OverloadedStrings #-}
  
  module Duckling.Time.EL.Corpus
    ( corpus
    , negativeCorpus
    ) where
  
  import Data.String
  import Prelude
  
  import Duckling.Locale
  import Duckling.Resolve
  import Duckling.Testing.Types hiding (examples)
  import Duckling.Time.Corpus
  import Duckling.Time.Types hiding (Month)
  import Duckling.TimeGrain.Types hiding (add)
  
  context :: Context
  context = testContext {locale = makeLocale EL Nothing}
  
  corpus :: Corpus
  corpus = (context, testOptions, allExamples)
  
  negativeCorpus :: NegativeCorpus
  negativeCorpus = (context, testOptions, examples)
    where
      examples =
        [ "ένας ενήληκας"
        , "τρεισήμισι και μισή"
        ]
  
  allExamples :: [Example]
  allExamples = concat
    [ examples (datetime (2013, 2, 1, 0, 0, 0) Day)
               [ "1/2/2013"
               ]
    , examples (datetime (2013, 2, 12, 4, 30, 0) Second)
               [ "τώρα"
               , "τώρα αμέσως"
               ]
    , examples (datetime (2013, 2, 18, 0, 0, 0) Day)
               [ "δευτέρα"
               , "δευτέρας"
               , "την δευτέρα"
               , "αυτή τη δευτέρα"
               , "Δευτέρα, 18 Φεβρουαρίου"
               , "Δευτ, 18 Φλεβάρη"
               , "18 Φεβρουαρίου, Δευτ"
               ]
    , examples (datetime (2013, 2, 19, 0, 0, 0) Day)
               [ "Τρίτη η 19η Φλεβάρη"
               , "Τρίτη, 19 Φεβρουαρίου"
               , "19 Φεβρουαρίου, Τρίτη"
               , "Τρίτη"
               , "την Τρίτη"
               , "την Τρίτη"
               ]
    , examples (datetime (2013, 2, 13, 0, 0, 0) Day)
               [ "αύριο"
               , "Τετάρτη"
               , "την Τετάρτη"
               ]
    , examples (datetime (2013, 2, 14, 0, 0, 0) Day)
               [ "Πέμπτη"
               , "πέμπτη"
               , "Πεμ"
               , "πεμ."
               , "την Πέμπτη"
               ]
    , examples (datetime (2013, 2, 15, 0, 0, 0) Day)
               [ "παρασκευή"
               , "παρασκευής"
               , "παρ."
               , "την παρασκευή"
               ]
    , examples (datetime (2013, 2, 16, 0, 0, 0) Day)
               [ "σάββατο"
               , "σαββάτο"
               , "σαβ."
               , "την σάββάτον"
               ]
    , examples (datetime (2013, 2, 17, 0, 0, 0) Day)
               [ "Κυριακή"
               , "κυρ"
               , "κυρ."
               , "την κυριακή"
               ]
    , examples (datetime (2013, 8, 13, 0, 0, 0) Day)
               [ "Τρίτη, 13η Αυγούστου"
               ]
    , examples (datetime (2014, 1, 1, 0, 0, 0) Month)
               [ "ιαν"
               , "ιανουάριος"
               , "ιανουαρίου"
               , "γενάρης"
               , "γενάρη"
               ]
    , examples (datetime (2013, 2, 1, 0, 0, 0) Month)
               [ "φεβ"
               , "φλεβάρης"
               , "φλεβάρη"
               , "φεβρουάριο"
               , "φεβρουαρίου"
               ]
    , examples (datetime (2013, 3, 1, 0, 0, 0) Month)
               [ "μάρτης"
               , "μάρτη"
               , "μαρτίου"
               , "μάρτιο"
               , "μάρτιον"
               , "μαρ"
               ]
    , examples (datetime (2013, 4, 1, 0, 0, 0) Month)
               [ "απρίλης"
               , "απρ"
               , "απριλίου"
               , "απριλη"
               , "απρίλιον"
               ]
    , examples (datetime (2013, 5, 1, 0, 0, 0) Month)
               [ "μάη"
               , "μαϊου"
               , "μάιο"
               , "μάης"
               ]
    , examples (datetime (2013, 6, 1, 0, 0, 0) Month)
               [ "ιούνιος"
               , "ιουνίου"
               , "ιούνη"
               , "ιούνιον"
               , "ιουν"
               ]
    , examples (datetime (2013, 7, 1, 0, 0, 0) Month)
               [ "Ιουλ"
               , "ιουλίου"
               , "ιούλη"
               , "ιούλιο"
               ]
    , examples (datetime (2013, 8, 1, 0, 0, 0) Month)
               [ "αυγ"
               , "αυγούστου"
               , "αύγουστο"
               ]
    , examples (datetime (2013, 9, 1, 0, 0, 0) Month)
               [ "σεπτ"
               , "σεπτέμβριος"
               , "σεπτεμβρίου"
               ]
    , examples (datetime (2013, 10, 1, 0, 0, 0) Month)
               [ "Οκτ"
               , "οκτώβρης"
               , "οκτώβρη"
               , "οκτωβρίου"
               , "οκτώβριον"
               ]
    , examples (datetime (2013, 11, 1, 0, 0, 0) Month)
               [ "νοεμ"
               , "νοέμβρης"
               , "νοέμβρη"
               , "νοεμβρίου"
               , "νοέμβριον"
               ]
    , examples (datetime (2013, 12, 1, 0, 0, 0) Month)
               [ "δεκ"
               , "δεκέμβρης"
               , "δεκέμβρη"
               , "δεκεμβρίου"
               , "δεκέμβριον"
               ]
    , examples (datetime (2013, 3, 1, 0, 0, 0) Day)
               [ "η πρώτη του μάρτη"
               , "πρώτη του μάρτη"
               , "πρώτη μάρτη"
               ]
    , examples (datetime (2013, 4, 3, 0, 0, 0) Day)
               [ "τρεις απρίλη"
               , "τρίτη απρίλη"
               ]
    , examples (datetime (2014, 1, 3, 0, 0, 0) Day)
               [ "τρίτη γενάρη"
               ]
    , examples (datetime (2013, 2, 3, 0, 0, 0) Day)
               [ "τρίτη φλεβάρη"
               ]
    , examples (datetime (2013, 3, 3, 0, 0, 0) Day)
               [ "τρίτη μάρτη"
               ]
    , examples (datetime (2013, 5, 3, 0, 0, 0) Day)
               [ "τρίτη μαϊου"
               ]
    , examples (datetime (2013, 9, 3, 0, 0, 0) Day)
               [ "3 σεπτέμβρη"
               , "3 σεπτεμβρίου"
               , "τρίτη σεπτεμβρίου 2013"
               ]
    , examples (datetime (2013, 9, 3, 0, 0, 0) Day)
               [ "3 σεπτέμβρη"
               , "3 σεπτεμβρίου"
               , "τρίτη σεπτεμβρίου"
               , "τρίτη σεπτεμβρίου 2013"
               ]
    , examples (datetime (2013, 10, 3, 0, 0, 0) Day)
               [ "τρίτη οκτ"
               , "τρίτη οκτώβρη"
               ]
    , examples (datetime (2013, 10, 5, 0, 0, 0) Day)
               [ "πέμπτη οκτωβρίου"
               , "πέμπτη οκτώβρη"
               ]
    , examples (datetime (2013, 9, 3, 0, 0, 0) Day)
               [ "3 σεπτέμβρη"
               , "3 σεπτεμβρίου"
               , "τρίτη σεπτεμβρίου 2013"
               ]
    , examples (datetime (2016, 3, 3, 0, 0, 0) Day)
               [ "τρίτη μάρτη 2016"
               , "3 μαρτίου 2016"
               ]
    , examples (datetime (2016, 4, 5, 0, 0, 0) Day)
               [ "πέμπτη απρίλη 2016"
               , "5 απρ 2016"
               ]
    , examples (datetime (2016, 4, 3, 0, 0, 0) Day)
               [ "τρίτη απρίλη 2016"
               , "3 απρίλης 2016"
               ]
    , examples (datetime (2016, 4, 1, 0, 0, 0) Month)
               [ "απρίλη 2016"
               , "απρίλης 2016"
               ]
    , examples (datetime (2017, 10, 1, 0, 0, 0) Month)
               [ "Οκτ 2017"
               , "Οκτώβρης 2017"
               , "Οκτώβριος 2017"
               ]
    , examples (datetime (2016, 3, 3, 0, 0, 0) Day)
               [ "τρίτη μάρτη 2016"
               , "3η μάρτη 2016"
               , "πέμπτη τρίτη μάρτη 2016"
               ]
    , examples (datetime (2013, 3, 25, 0, 0, 0) Day)
               [ "ευαγγελισμός της θεοτόκου"
               , "ευαγγελισμού της θεοτόκου"
               ]
    , examples (datetime (2015, 3, 3, 0, 0, 0) Day)
               [ "3 μαρτίου 2015"
               , "3η μαρτίου 2015"
               , "τρεις μαρτίου 2015"
               , "3/3/2015"
               , "3/3/15"
               , "2015-3-3"
               , "2015-03-03"
               ]
    , examples (datetime (2013, 2, 15, 0, 0, 0) Day)
               [ "στις 15 Φεβρουαρίου"
               , "η 15η Φεβρουαρίου"
               , "15 Φεβρουαρίου"
               , "15η Φεβρουαρίου"
               ]
    , examples (datetime (2013, 8, 8, 0, 0, 0) Day)
               [ "8 Αυγ"
               ]
    , examples (datetime (2014, 7, 18, 0, 0, 0) Day)
               [ "Παρασκευή, 18 Ιουλίου"
               , "Ιουλίου 18, Παρασκευή"
               ]
    , examples (datetime (2014, 10, 1, 0, 0, 0) Month)
               [ "Οκτώβριος 2014"
               ]
    , examples (datetime (2015, 4, 14, 0, 0, 0) Day)
               [ "14απριλίου 2015"
               , "14 Απριλίου, 2015"
               , "14η Απριλίου 15"
               ]
    , examples (datetime (2013, 2, 19, 0, 0, 0) Day)
               [ "την επόμενη Τρίτη"
               , "περίπου την επόμενη Τρίτη"
               ]
    , examples (datetime (2013, 2, 21, 0, 0, 0) Day)
               [ "την επόμενη πέμπτη"
               , "περίπου την επόμενη Πέμπτη"
               ]
    , examples (datetime (2013, 3, 1, 0, 0, 0) Day)
               [ "μεθεπόμενη παρασκευή"
               ]
    , examples (datetime (2014, 3, 1, 0, 0, 0) Month)
               [ "επόμενος Μάρτης"
               ]
    , examples (datetime (2015, 3, 1, 0, 0, 0) Month)
               [ "μεθεπόμενος Μάρτης"
               ]
    , examples (datetime (2013, 2, 10, 0, 0, 0) Day)
               [ "Κυριακή, 10 Φεβρουαρίου"
               ]
    , examples (datetime (2013, 2, 13, 0, 0, 0) Day)
               [ "Τετ, 13Φεβ"
               ]
    , examples (datetime (2013, 2, 11, 0, 0, 0) Week)
               [ "αυτή τη βδομάδα"
               , "τρέχουσα εβδομάδα"
               ]
    , examples (datetime (2013, 2, 4, 0, 0, 0) Week)
               [ "περασμένη εβδομάδα"
               , "προηγούμενη εβδομάδα"
               ]
    , examples (datetime (2013, 2, 18, 0, 0, 0) Week)
               [ "επόμενη εβδομάδα"
               , "περίπου την επόμενη εβδομάδα"
               ]
    , examples (datetime (2013, 1, 1, 0, 0, 0) Month)
               [ "τον προηγούμενο μήνα"
               ]
    , examples (datetime (2013, 3, 1, 0, 0, 0) Month)
               [ "τον επόμενο μήνα"
               ]
    , examples (datetime (2013, 1, 1, 0, 0, 0) Quarter)
               [ "αυτό το τρίμηνο"
               ]
    , examples (datetime (2013, 4, 1, 0, 0, 0) Quarter)
               [ "το επόμενο τρίμηνο"
               ]
    , examples (datetime (2013, 7, 1, 0, 0, 0) Quarter)
               [ "τρίτο τρίμηνο"
               , "3ο τρίμηνο"
               , "το τρίτο τρίμηνο"
               ]
    , examples (datetime (2018, 10, 1, 0, 0, 0) Quarter)
               [ "4ο τρίμηνο του 2018"
               , "4ο τρίμηνο 2018"
               , "το 4ο τρίμηνο του 2018"
               ]
    , examples (datetime (2012, 1, 1, 0, 0, 0) Year)
               [ "πέρσι"
               , "πέρυσι"
               , "την περασμένη χρονιά"
               ]
    , examples (datetime (2013, 1, 1, 0, 0, 0) Year)
               [ "φέτος"
               , "εφέτος"
               , "αυτή τη χρονιά"
               , "αυτό το έτος"
               ]
    , examples (datetime (2014, 1, 1, 0, 0, 0) Year)
               [ "τουχρόνου"
               , "του χρόνου"
               , "την επόμενη χρονιά"
               , "τον επόμενο χρόνο"
               ]
    , examples (datetime (2013, 2, 10, 0, 0, 0) Day)
               [ "την προηγούμενη Κυριακή"
               , "την περασμένη Κυριακή"
               ]
    , examples (datetime (2013, 2, 5, 0, 0, 0) Day)
               [ "περασμένη τρίτη"
               ]
    , examples (datetime (2013, 2, 7, 0, 0, 0) Day)
               [ "περασμένη πέμπτη"
               ]
    , examples (datetime (2013, 2, 19, 0, 0, 0) Day)
               [ "επόμενη Τρίτη"
               ]
    , examples (datetime (2013, 2, 20, 0, 0, 0) Day)
               [ "επόμενη τετάρτη"
               ]
    , examples (datetime (2013, 2, 21, 0, 0, 0) Day)
               [ "επόμενη πέμπτη"
               ]
    , examples (datetime (2013, 2, 20, 0, 0, 0) Day)
               [ "Τετάρτη της επόμενης εβδομάδας"
               ]
    , examples (datetime (2013, 3, 1, 0, 0, 0) Day)
               [ "τη μεθεπόμενη παρασκευή"
               ]
    , examples (datetime (2013, 2, 11, 0, 0, 0) Day)
               [ "χθες"
               , "εχθές"
               , "δευτέρα αυτής της εβδομάδας"
               ]
    , examples (datetime (2013, 2, 12, 0, 0, 0) Day)
               [ "τρίτη αυτής της εβδομάδας"
               , "σήμερα"
               ]
    , examples (datetime (2013, 2, 13, 0, 0, 0) Day)
               [ "τετάρτη αυτής της εβδομάδας"
               ]
    , examples (datetime (2013, 2, 14, 0, 0, 0) Day)
               [ "μεθαύριο"
               ]
    , examples (datetime (2013, 2, 14, 17, 0, 0) Hour)
               [ "μεθαύριο στις 5μμ"
               ]
    , examples (datetime (2013, 2, 10, 0, 0, 0) Day)
               [ "προχτές"
               ]
    , examples (datetime (2013, 2, 10, 8, 0, 0) Hour)
               [ "προχθές στις 8πμ"
               ]
    , examples (datetime (2013, 3, 25, 0, 0, 0) Day)
               [ "τελευταία Δευτέρα του Μάρτη"
               ]
    , examples (datetime (2014, 3, 30, 0, 0, 0) Day)
               [ "τελευταία Κυριακή του Μάρτη του 2014"
               ]
    , examples (datetime (2013, 10, 3, 0, 0, 0) Day)
               [ "τρίτη μέρα του Οκτώβρη"
               ]
    , examples (datetime (2014, 10, 6, 0, 0, 0) Week)
               [ "πρώτη βδομάδα του Οκτώβρη του 2014"
               ]
    , examples (datetime (2013, 10, 7, 0, 0, 0) Week)
               [ "η εβδομάδα της 6ης Οκτωβρίου"
               ]
    , examples (datetime (2013, 10, 7, 0, 0, 0) Week)
               [ "η εβδομάδα της 7ης Οκτωβρίου"
               ]
    , examples (datetime (2015, 10, 31, 0, 0, 0) Day)
               [ "η τελευταία μέρα του Οκτωβρίου του 2015"
               , "η τελευταία μέρα στον Οκτώβρη του 2015"
               ]
    , examples (datetime (2014, 9, 22, 0, 0, 0) Week)
               [ "η τελευταία βδομάδα Σεπτεμβρίου του 2014"
               ]
    , examples (datetime (2013, 10, 1, 0, 0, 0) Day)
               [ "πρώτη Τρίτη του Οκτώβρη"
               ]
    , examples (datetime (2013, 2, 12, 16, 0, 0) Hour)
               [ "Τρίτη στις 4 το απόγευμα"
               ]
    , examples (datetime (2013, 2, 13, 16, 0, 0) Hour)
               [ "Τετάρτη στις 4 το απόγευμα"
               ]
    , examples (datetime (2014, 9, 16, 0, 0, 0) Day)
               [ "τρίτη Τρίτη του Σεπτ 2014"
               ]
    , examples (datetime (2014, 10, 1, 0, 0, 0) Day)
               [ "πρώτη Τετάρτη του Οκτωβρίου 2014"
               ]
    , examples (datetime (2014, 10, 8, 0, 0, 0) Day)
               [ "δεύτερη Τετάρτη του Οκτωβρίου 2014"
               ]
    , examples (datetime (2015, 1, 8, 0, 0, 0) Day)
               [ "Τρίτη Πέμπτη μετά τα Χριστούγεννα του 2014"
               ]
    , examples (datetime (2013, 2, 13, 3, 0, 0) Hour)
               [ "στις 3πμ"
               , "3 το πρωί"
               , "3πμ"
               , "3 η ώρα το πρωί"
               , "στις 3 πμ"
               ]
    , examples (datetime (2013, 2, 13, 3, 18, 0) Minute)
               [ "3:18πμ"
               , "3:18π"
               ]
    , examples (datetime (2013, 2, 12, 15, 0, 0) Hour)
               [ "στις 3μμ"
               , "@ 3μμ"
               , "3ΜΜ"
               , "3μμ"
               , "3 η ώρα μμ"
               , "3 η ώρα το απόγευμα"
               , "3 το απόγευμα"
               , "3 και κάτι μμ"
               , "3μμ περίπου"
               , "περίπου 3μμ"
               ]
    , examples (datetime (2013, 2, 12, 15, 15, 0) Minute)
               [ "στα 15 λεπτά μετά τις 3μμ"
               , "ένα τέταρτο μετά τις 3μμ"
               , "3 και τέταρτο μμ"
               , "3:15 το απόγευμα"
               , "15:15"
               , "3:15μμ"
               , "3:15ΜΜ"
               , "3:15μ"
               , "στις 3 και 15"
               ]
    , examples (datetime (2013, 2, 12, 15, 20, 0) Minute)
               [ "20 λεπτά μετά τις 3μμ"
               , "3:20 το απόγευμα"
               , "είκοσι μετά τις 3μμ"
               , "3:20μ"
               , "στις τρεις και είκοσι"
               ]
    , examples (datetime (2013, 2, 12, 15, 30, 0) Minute)
               [ "στις τρεις και μισή μμ"
               , "τρεισήμισι μμ"
               , "Τρεισήμισι μμ"
               , "15:30"
               , "3:30μμ"
               , "3:30ΜΜ"
               , "330 μ.μ."
               , "3:30 μ μ"
               , "3:30 μμ"
               , "τρεις και μισή"
               ]
    , examples (datetime (2013, 2, 12, 15, 23, 24) Second)
               [ "15:23:24"
               ]
    , examples (datetime (2013, 2, 12, 11, 45, 0) Minute)
               [ "ένα τέταρτο πριν το μεσημέρι"
               , "11:45πμ"
               , "δώδεκα παρά τέταρτο"
               , "12 παρά τέταρτο"
               ]
    , examples (datetime (2013, 2, 12, 20, 0, 0) Hour)
               [ "απόψε στις 8"
               , "8 το βράδυ"
               , "στις 8 το βράδυ"
               ]
    , examples (datetime (2013, 9, 20, 19, 30, 0) Minute)
               [ "στις 7:30 μμ την Παρασκευή, 20 Σεπτ"
               ]
    , examples (datetime (2013, 2, 16, 9, 0, 0) Hour)
               [ "το Σάββατο στις 9πμ"
               ]
    , examples (datetime (2014, 7, 18, 19, 0, 0) Minute)
               [ "Παρ, 18 Ιουλ, 2014 07:00 μμ"
               ]
    , examples (datetime (2013, 2, 12, 4, 30, 1) Second)
               [ "σε ένα δεύτερο"
               , "σε ένα δευτερόλεπτο από τώρα"
               , "σε 1\""
               ]
    , examples (datetime (2013, 2, 12, 4, 31, 0) Second)
               [ "σε ένα λεπτό"
               , "σε 1'"
               ]
    , examples (datetime (2013, 2, 12, 4, 32, 0) Second)
               [ "σε 2 λεπτά"
               , "σε 2 λεπτά ακόμα"
               , "2 λεπτά από τώρα"
               ]
    , examples (datetime (2013, 2, 12, 11, 40, 0) Minute)
               [ "20 λεπτά πριν τις 12"
               , "11:40"
               ]
    , examples (datetime (2013, 2, 12, 12, 20, 0) Minute)
               [ "20 λεπτά μετά τις 12"
               , "12:20"
               ]
    , examples (datetime (2013, 2, 12, 4, 33, 0) Second)
               [ "σε τρία λεπτά"
               , "σε μερικά λεπτά"
               ]
    , examples (datetime (2013, 2, 12, 5, 30, 0) Second)
               [ "σε 60 λεπτά"
               ]
    , examples (datetime (2013, 2, 12, 4, 45, 0) Second)
               [ "σε ένα τέταρτο της ώρας"
               , "σε 1/4ω"
               , "σε 1/4 ω"
               , "σε 1/4 της ώρας"
               ]
    , examples (datetime (2013, 2, 12, 5, 0, 0) Second)
               [ "σε μισή ώρα"
               , "σε 1/2ω"
               , "σε 1/2 ω"
               , "σε 1/2 ώρα"
               ]
    , examples (datetime (2013, 2, 12, 5, 15, 0) Second)
               [ "σε τρία τέταρτα της ώρας"
               , "σε 3/4ω"
               , "σε 3/4 ω"
               , "σε 3/4 της ώρας"
               ]
    , examples (datetime (2013, 2, 12, 7, 0, 0) Second)
               [ "σε 2,5 ώρες"
               , "σε 2 και μισή ώρες"
               ]
    , examples (datetime (2013, 2, 12, 5, 30, 0) Minute)
               [ "σε μία ώρα"
               , "σε 1ω"
               ]
    , examples (datetime (2013, 2, 12, 6, 30, 0) Minute)
               [ "σε δύο ώρες"
               , "σε δυο ώρες"
               ]
    , examples (datetime (2013, 2, 12, 7, 30, 0) Minute)
               [ "σε μερικές ώρες"
               ]
    , examples (datetime (2013, 2, 13, 4, 30, 0) Minute)
               [ "σε 24 ώρες"
               ]
    , examples (datetime (2013, 2, 13, 4, 0, 0) Hour)
               [ "σε μία μέρα"
               ]
    , examples (datetime (2013, 2, 13, 4, 30, 0) Second)
               [ "σε μία μέρα από τώρα αμέσως"
               , "σε μία μέρα από τώρα"
               ]
    , examples (datetime (2016, 2, 12, 0, 0, 0) Day)
               [ "3 χρόνια από σήμερα"
               ]
    , examples (datetime (2013, 2, 19, 4, 0, 0) Hour)
               [ "σε 7 μέρες"
               ]
    , examples (datetime (2013, 2, 19, 0, 0, 0) Day)
               [ "σε μία βδομάδα"
               ]
    , examples (datetime (2013, 2, 12, 5, 0, 0) Second)
               [ "σε περίπου μισή ώρα"
               ]
    , examples (datetime (2013, 2, 5, 4, 0, 0) Hour)
               [ "πριν από 7 μέρες"
               ]
    , examples (datetime (2013, 1, 29, 4, 0, 0) Hour)
               [ "πριν από 14 μέρες"
               , "14 μέρες πριν"
               ]
    , examples (datetime (2013, 2, 5, 0, 0, 0) Day)
               [ "πριν από μια βδομάδα"
               , "πριν από 1 βδομάδα"
               ]
    , examples (datetime (2013, 1, 22, 0, 0, 0) Day)
               [ "πριν από τρεις βδομάδες"
               ]
    , examples (datetime (2012, 11, 12, 0, 0, 0) Day)
               [ "πριν από τρεις μήνες"
               ]
    , examples (datetime (2011, 2, 1, 0, 0, 0) Month)
               [ "πριν από δύο χρόνια"
               ]
    , examples (datetime (1954, 1, 1, 0, 0, 0) Year)
               [ "1954"
               ]
    , examples (datetime (2013, 2, 19, 4, 0, 0) Hour)
               [ "εδώ και 7 μέρες"
               ]
    , examples (datetime (2013, 2, 26, 4, 0, 0) Hour)
               [ "εδώ και 14 μέρες"
               ]
    , examples (datetime (2013, 2, 19, 0, 0, 0) Day)
               [ "εδώ και μια βδομάδα"
               , "εδώ και 1 βδομάδα"
               ]
    , examples (datetime (2013, 3, 5, 0, 0, 0) Day)
               [ "εδώ και τρεις βδομάδες"
               ]
    , examples (datetime (2013, 5, 12, 0, 0, 0) Day)
               [ "εδώ και τρεις μήνες"
               ]
    , examples (datetime (2015, 2, 1, 0, 0, 0) Month)
               [ "εδώ και δύο χρόνια"
               ]
    , examples (datetime (2013, 12, 25, 0, 0, 0) Day)
               [ "ένα χρόνο μετά τα Χριστούγεννα"
               ]
    , examples (datetimeInterval ((2013, 12, 18, 0, 0, 0), (2013, 12, 29, 0, 0, 0)) Day)
               [ "για 10 μέρες μετά τις 18 Δεκεμβρίου"
               ]
    , examples (datetimeInterval ((2013, 9, 23, 0, 0, 0), (2013, 12, 22, 0, 0, 0)) Day)
               [ "αυτό το φθινόπωρο"
               , "αυτού του φθινοπώρου"
               ]
    , examples (datetimeInterval ((2013, 6, 21, 0, 0, 0), (2013, 9, 24, 0, 0, 0)) Day)
               [ "αυτό το καλοκαίρι"
               , "το τρέχον καλοκαίρι"
               ]
    , examples (datetimeInterval ((2012, 12, 21, 0, 0, 0), (2013, 3, 21, 0, 0, 0)) Day)
               [ "αυτό το χειμώνα"
               ]
    , examples (datetime (2013, 12, 25, 0, 0, 0) Day)
               [ "Χριστούγεννα"
               ]
    , examples (datetime (2013, 12, 31, 0, 0, 0) Day)
               [ "παραμονή πρωτοχρονιάς"
               , "παραμονές πρωτοχρονιάς"
               ]
    , examples (datetime (2014, 1, 1, 0, 0, 0) Day)
               [ "ανήμερα πρωτοχρονιάς"
               ]
    , examples (datetime (2013, 2, 14, 0, 0, 0) Day)
               [ "του Αγίου Βαλεντίνου"
               , "ημέρα του Αγίου Βαλεντίνου"
               ]
    , examples (datetime (2013, 5, 12, 0, 0, 0) Day)
               [ "ημέρα της μητέρας"
               , "η μέρα της μητέρας"
               ]
    , examples (datetime (2012, 5, 13, 0, 0, 0) Day)
               [ "προηγούμενη μέρα της μητέρας"
               ]
    , examples (datetime (2014, 5, 11, 0, 0, 0) Day)
               [ "η μέρα της μητέρας του 2014"
               ]
    , examples (datetime (2013, 6, 16, 0, 0, 0) Day)
               [ "η μέρα του πατέρα"
               ]
    , examples (datetime (2012, 6, 17, 0, 0, 0) Day)
               [ "προηγούμενη μέρα του πατέρα"
               ]
    , examples (datetime (1996, 6, 16, 0, 0, 0) Day)
               [ "η μέρα του πατέρα το 1996"
               ]
    , examples (datetime (2013, 3, 25, 0, 0, 0) Day)
               [ "η μέρα της επανάστασης"
               ]
    , examples (datetime (2012, 3, 25, 0, 0, 0) Day)
               [ "η περασμένη μέρα της επανάστασης"
               , "η μέρα της επανάστασης της περασμένης χρονιάς"
               , "η μέρα της επανάστασης της περσινής χρονιάς"
               , "η μέρα της επανάστασης πέρσι"
               , "η μέρα της επανάστασης πέρυσι"
               ]
    , examples (datetime (2013, 10, 31, 0, 0, 0) Day)
               [ "halloween"
               , "το halloween του 2013"
               ]
    , examples (datetime (2014, 10, 31, 0, 0, 0) Day)
               [ "το επόμενο halloween"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 13, 0, 0, 0)) Hour)
               [ "απόψε"
               , "σήμερα το βράδυ"
               , "απόψε το βράδυ"
               ]
    , examples (datetimeInterval ((2013, 2, 8, 18, 0, 0), (2013, 2, 11, 0, 0, 0)) Hour)
               [ "το περασμένο σαββατοκύριακο"
               , "το περασμένο ΣΚ"
               , "το προηγούμενο σαββατοκύριακο"
               , "το προηγούμενο σκ"
               ]
    , examples (datetimeInterval ((2013, 2, 13, 18, 0, 0), (2013, 2, 14, 0, 0, 0)) Hour)
               [ "αύριο βράδυ"
               , "αύριο το βράδυ"
               ]
    , examples (datetimeInterval ((2013, 2, 13, 12, 0, 0), (2013, 2, 13, 18, 0, 0)) Hour)
               [ "αύριο το απόγευμα"
               ]
    , examples (datetimeInterval ((2013, 2, 11, 18, 0, 0), (2013, 2, 12, 0, 0, 0)) Hour)
               [ "χθες το βράδυ"
               ]
    , examples (datetimeInterval ((2013, 2, 15, 18, 0, 0), (2013, 2, 18, 0, 0, 0)) Hour)
               [ "αυτό το σαββατοκύριακο"
               , "αυτό το σκ"
               ]
    , examples (datetimeInterval ((2013, 2, 18, 4, 0, 0), (2013, 2, 18, 12, 0, 0)) Hour)
               [ "δευτέρα το πρωί"
               , "δευτέρα πρωί"
               ]
    , examples (datetimeInterval ((2013, 2, 18, 4, 0, 0), (2013, 2, 18, 9, 0, 0)) Hour)
               [ "Δευτέρα νωρίς το πρωί"
               ]
    , examples (datetimeInterval ((2013, 2, 15, 4, 0, 0), (2013, 2, 15, 12, 0, 0)) Hour)
               [ "15 Φεβρουαρίου το πρωί"
               , "το πρωί της 15ης Φεβρουαρίου"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 29, 58), (2013, 2, 12, 4, 30, 0)) Second)
               [ "τα τελευταία 2 δευτερόλεπτα"
               , "τα τελευταία 2 δεύτερα"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 30, 1), (2013, 2, 12, 4, 30, 4)) Second)
               [ "τα επόμενα 3 δευτερόλεπτα"
               , "τα επόμενα τρία δεύτερα"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 28, 0), (2013, 2, 12, 4, 30, 0)) Minute)
               [ "τα τελευταία 2 λεπτά"
               , "τα τελευταία δύο λεπτά"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 31, 0), (2013, 2, 12, 4, 34, 0)) Minute)
               [ "τα επόμενα 3 λεπτά"
               , "τα επόμενα τρία λεπτά"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 3, 0, 0), (2013, 2, 12, 4, 0, 0)) Hour)
               [ "η τελευταία 1 ώρα"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 5, 0, 0), (2013, 2, 12, 8, 0, 0)) Hour)
               [ "οι επόμενες 3 ώρες"
               , "τις επόμενες τρεις ώρες"
               ]
    , examples (datetimeInterval ((2013, 2, 10, 0, 0, 0), (2013, 2, 12, 0, 0, 0)) Day)
               [ "τελευταίες 2 μέρες"
               , "περασμένες 2 μέρες"
               ]
    , examples (datetimeInterval ((2013, 2, 13, 0, 0, 0), (2013, 2, 16, 0, 0, 0)) Day)
               [ "επόμενες τρεις μέρες"
               ]
    , examples (datetimeInterval ((2013, 2, 13, 0, 0, 0), (2013, 2, 16, 0, 0, 0)) Day)
               [ "επόμενες μερικές μέρες"
               ]
    , examples (datetimeInterval ((2013, 1, 28, 0, 0, 0), (2013, 2, 11, 0, 0, 0)) Week)
               [ "τελευταίες 2 εβδομάδες"
               ]
    , examples (datetimeInterval ((2013, 2, 18, 0, 0, 0), (2013, 3, 11, 0, 0, 0)) Week)
               [ "επόμενες 3 βδομάδες"
               ]
    , examples (datetimeInterval ((2012, 12, 1, 0, 0, 0), (2013, 2, 1, 0, 0, 0)) Month)
               [ "τελευταίοι 2 μήνες"
               , "περασμένοι 2 μήνες"
               ]
    , examples (datetimeInterval ((2013, 3, 1, 0, 0, 0), (2013, 6, 1, 0, 0, 0)) Month)
               [ "επόμενοι 3 μήνες"
               ]
    , examples (datetimeInterval ((2011, 1, 1, 0, 0, 0), (2013, 1, 1, 0, 0, 0)) Year)
               [ "τελευταία 2 χρόνια"
               ]
    , examples (datetimeInterval ((2014, 1, 1, 0, 0, 0), (2017, 1, 1, 0, 0, 0)) Year)
               [ "επόμενα 3 χρόνια"
               ]
    , examples (datetimeInterval ((2013, 7, 13, 0, 0, 0), (2013, 7, 16, 0, 0, 0)) Day)
               [ "13-15 Ιουλίου"
               , "13 με 15 Ιουλίου"
               , "13 Ιουλίου - 15 Ιουλίου"
               , "από τις 13-15 Ιουλίου"
               , "από τις 13 μέχρι τις 15 Ιουλίου"
               , "από τη 13η μέχρι την 15η Ιουλίου"
               ]
    , examples (datetimeInterval ((2013, 8, 8, 0, 0, 0), (2013, 8, 13, 0, 0, 0)) Day)
               [ "8 Αυγ - 12 Αυγ"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 9, 30, 0), (2013, 2, 12, 11, 1, 0)) Minute)
               [ "9:30 - 11:00"
               , "9:30 - 11:00 την Τρίτη"
               ]
    , examples (datetimeInterval ((2013, 2, 14, 9, 30, 0), (2013, 2, 14, 11, 1, 0)) Minute)
               [ "Πέμπτη από 9:30 μέχρι 11:00"
               , "Πέμπτη μεταξύ 9:30 και 11:00"
               , "Πέμπτη από τις 9:30 - 11:00"
               , "Πέμπτη από 9:30 μέχρι 11:00"
               , "Πέμπτη 9:30 - 11:00"
               ]
    , examples (datetimeInterval ((2013, 2, 13, 1, 0, 0), (2013, 2, 13, 2, 31, 0)) Minute)
               [ "αύριο μεταξύ 1-2:30"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 15, 0, 0), (2013, 2, 12, 17, 0, 0)) Hour)
               [ "3-4 μμ"
               , "από 3 μέχρι 4 το απόγευμα"
               , "περίπου 3-4 μμ"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 15, 30, 0), (2013, 2, 12, 18, 1, 0)) Minute)
               [ "3:30 μέχρι 6 μμ"
               , "3:30-6 μ.μ."
               ]
    , examples (datetimeInterval ((2013, 2, 12, 8, 0, 0), (2013, 2, 12, 14, 0, 0)) Hour)
               [ "8πμ - 1μμ"
               ]
    , examples (datetimeInterval ((2013, 2, 14, 9, 0, 0), (2013, 2, 14, 12, 0, 0)) Hour)
               [ "Πέμπτη από  9π μέχρι 11π"
               , "αυτή την Πέμπτη 9-11πμ"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 11, 30, 0), (2013, 2, 12, 13, 31, 0)) Minute)
               [ "11:30-1:30"
               ]
    , examples (datetime (2013, 9, 21, 13, 30, 0) Minute)
               [ "1:30 μμ το Σάββατο, 21 Σεπτ"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 26, 0, 0, 0)) Second)
               [ "μέσα σε 2 βδομάδες"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 12, 14, 0, 0)) Second)
               [ "μέχρι τις 2:00μμ"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 13, 0, 0, 0)) Second)
               [ "μέχρι το τέλος της ημέρας"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 3, 1, 0, 0, 0)) Second)
               [ "μέχρι το τέλος του μήνα"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 4, 1, 0, 0, 0)) Second)
               [ "μέχρι το τέλος του επόμενου μήνα"
               ]
    , examples (datetime (2013, 2, 12, 13, 0, 0) Minute)
               [ "4μμ CET"
               ]
    , examples (datetime (2013, 2, 14, 6, 0, 0) Minute)
               [ "Πέμπτη 8:00 GMT"
               , "Πέμπτη 8:00 gmt"
               , "Πεμ στις 8 GMT"
               , "Πεμ στις 8 gmt"
               ]
    , examples (datetime (2013, 2, 12, 14, 0, 0) Hour)
               [ "σήμερα στις 2μμ"
               , "στις 2μμ"
               ]
    , examples (datetime (2013, 2, 13, 15, 0, 0) Hour)
               [ "3μμ αύριο"
               ]
    , examples (datetimeOpenInterval After (2013, 2, 12, 14, 0, 0) Hour)
               [ "μετά τις 2μμ"
               ]
    , examples (datetime (2013, 2, 17, 4, 0, 0) Hour)
               [ "σε 5 μέρες"
               ]
    , examples (datetimeOpenInterval Before (2013, 2, 12, 11, 0, 0) Hour)
               [ "πριν τις 11 το πρωί"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 8, 0, 0), (2013, 2, 12, 19, 0, 0)) Hour)
               [ "8πμ μέχρι τις 6"
               ]
    , examples (datetime (2013, 2, 12, 13, 30, 0) Minute)
               [ "στις 1:30μμ"
               , "1:30μμ"
               ]
    , examples (datetime (2013, 2, 12, 4, 45, 0) Second)
               [ "σε 15 λεπτά"
               , "σε 15'"
               ]
    , examples (datetime (2013, 2, 12, 10, 30, 0) Minute)
               [ "10:30"
               , "περίπου 1030"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 0, 0), (2013, 2, 12, 12, 0, 0)) Hour)
               [ "σήμερα το πρωί"
               ]
    , examples (datetime (2013, 2, 25, 0, 0, 0) Day)
               [ "επόμενη δευτέρα"
               ]
    , examples (datetime (2013, 2, 12, 12, 0, 0) Hour)
               [ "στις 12μμ"
               , "το μεσημέρι"
               ]
    , examples (datetime (2013, 2, 13, 0, 0, 0) Hour)
               [ "στις 12 πμ"
               , "τα μεσάνυχτα"
               ]
    , examples (datetime (2013, 3, 1, 0, 0, 0) Month)
               [ "Μάρτιος"
               , "στο Μάρτιο"
               , "το Μάρτιο"
               ]
    , examples (datetime (2013, 2, 13, 17, 0, 0) Hour)
               [ "αύριο το απόγευμα στις 5"
               , "στις 5 αύριο το απόγευμα"
               , "στις 5 αύριο απόγευμα"
               , "στις 5 μμ αύριο"
               , "αύριο στις 5 μμ"
               ]
    , examples (datetimeInterval ((2013, 2, 13, 12, 0, 0), (2013, 2, 13, 18, 0, 0)) Hour)
               [ "αύριο το απόγευμα"
               ]
    , examples (datetimeInterval ((2013, 2, 13, 13, 0, 0), (2013, 2, 13, 15, 0, 0)) Hour)
               [ "1μμ-2μμ αύριο"
               ]
    , examples (datetime (2013, 3, 1, 0, 0, 0) Day)
               [ "την 1η"
               , "την πρώτη"
               ]
    , examples (datetime (2013, 2, 12, 19, 30, 0) Minute)
               [ "στις 7:30 το βράδυ"
               ]
    , examples (datetime (2013, 2, 12, 23, 0, 0) Hour)
               [ "απόψε στις 11"
               ]
    , examples (datetime (2013, 2, 12, 4, 23, 0) Minute)
      -- yes, the result is in the past, we may need to revisit
               [ "στις 4:23"
               , "4:23πμ"
               ]
    , examples (datetimeInterval ((2013, 3, 1, 0, 0, 0), (2013, 3, 11, 0, 0, 0)) Day)
               [ "αρχές Μάρτη"
               ]
    , examples (datetimeInterval ((2013, 3, 11, 0, 0, 0), (2013, 3, 21, 0, 0, 0)) Day)
               [ "μέσα Μάρτη"
               ]
    , examples (datetimeInterval ((2013, 3, 21, 0, 0, 0), (2013, 4, 1, 0, 0, 0)) Day)
               [ "τέλη Μάρτη"
               ]
    , examples (datetimeInterval ((2013, 10, 25, 18, 0, 0), (2013, 10, 28, 0, 0, 0)) Hour)
               [ "τελευταίο σαββατοκύριακο του Οκτωβρίου"
               ]
    , examples (datetimeInterval ((2013, 7, 26, 18, 0, 0), (2013, 7, 29, 0, 0, 0)) Hour)
               [ "τελευταίο ΣΚ του Ιουλίου"
               ]
    , examples (datetimeInterval ((2017, 10, 27, 18, 0, 0), (2017, 10, 30, 0, 0, 0)) Hour)
               [ "τελευταίο σκ του Οκτ 2017"
               ]
    , examples (datetimeInterval ((2013, 8, 27, 0, 0, 0), (2013, 8, 30, 0, 0, 0)) Day)
               [ "27η - 29η Αυγούστου"
               ]
    , examples (datetimeInterval ((2013, 10, 23, 0, 0, 0), (2013, 10, 27, 0, 0, 0)) Day)
               [ "23η με 26η Οκτ"
               ]
    , examples (datetimeInterval ((2013, 9, 1, 0, 0, 0), (2013, 9, 9, 0, 0, 0)) Day)
               [ "1-8 Σεπτεμβρίου"
               ]
    , examples (datetimeInterval ((2013, 9, 12, 0, 0, 0), (2013, 9, 17, 0, 0, 0)) Day)
               [ "12 με 16 Σεπτ"
               ]
    , examples (datetimeInterval ((2013, 8, 19, 0, 0, 0), (2013, 8, 22, 0, 0, 0)) Day)
               [ "19η με 21η αυγ"
               ]
    ]
  