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 #-}
  
  -- /Note/: All commented-out tests are failing due to https://github.com/facebook/duckling/issues/541
  module Duckling.Time.KA.Corpus
    ( corpus
    , defaultCorpus
    , latentCorpus
    ) 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
  import Duckling.Resolve
  
  corpus :: Corpus
  corpus = (testContext {locale = makeLocale KA Nothing},
    testOptions, allExamples)
  
  defaultCorpus :: Corpus
  defaultCorpus = (testContext {locale = makeLocale KA Nothing},
    testOptions, allExamples)
  
  latentCorpus :: Corpus
  latentCorpus = (testContext {locale = makeLocale KA Nothing},
    testOptions {withLatent = True}, xs)
    where
      xs = concat
        [ examples (datetime (2013, 2, 24, 0, 0, 0) Day)
                   [ "24 თებერვალს"
                   ]
        , examples (datetime (2013, 2, 12, 7, 0, 0) Hour)
                   [ "7 საათზე"
                   ]
        , examples (datetime (2013, 5, 1, 0, 0, 0) Month)
                   [ "მაისი"
                   ]
        ]
  
  allExamples :: [Example]
  allExamples = concat
    [ examples (datetime (2013, 2, 12, 4, 30, 0) Second)
               [ "ახლა"
               , "ახლავე"
               , "ეხლა"
               ]
    , examples (datetime (2013, 2, 12, 0, 0, 0) Day)
               [ "დღეს"
               ]
    , examples (datetime (2013, 2, 1, 0, 0, 0) Day)
               [ "2/2013"
               ]
    , examples (datetime (2014, 1, 1, 0, 0, 0) Year)
               [ "2014-ში"
               ]
    , examples (datetime (2013, 2, 11, 0, 0, 0) Day)
               [ "გუშინ"
               ]
    , examples (datetime (2013, 2, 13, 0, 0, 0) Day)
               [ "ხვალ"
               , "ხვალე"
               ]
    , examples (datetime (2013, 2, 18, 0, 0, 0) Day)
               [ "ორშაბათი"
               , "ამ ორშაბათს"
               , "ეს ორშაბათი"
               ]
    , examples (datetime (2013, 2, 19, 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, 3, 1, 0, 0, 0) Day)
               [ "1-ლი მარტი"
               , "პირველი მარტი"
               ]
    , examples (datetime (2013, 3, 3, 0, 0, 0) Day)
               [ "3 მარტი"
               ]
    , examples (datetime (2015, 3, 3, 0, 0, 0) Day)
               [ "3 მარტი 2015"
               , "2015 წლის მე-3 მარტი"
               , "2015-3-3"
               , "2015-03-03"
               ]
    , examples (datetime (2013, 2, 15, 0, 0, 0) Day)
               [ "15 თებერვალი"
               , "თებერვლის მეთხუთმეტე დღეს"
               , "თხუთმეტი თებერვალი"
               ]
    , examples (datetime (2013, 8, 8, 0, 0, 0) Day)
               [ "8 აგვისტო"
               ]
    , examples (datetime (2014, 10, 1, 0, 0, 0) Month)
               [ "2014 წლის ოქტომბერი"
               ]
    , examples (datetime (2015, 4, 14, 0, 0, 0) Day)
               [ "14 აპრილი 2015"
               , "2015 წლის 14 აპრილი"
               , "2015 წლის 14 აპრილს"
               ]
    , examples (datetime (2013, 2, 26, 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 (datetimeInterval ((2013, 1, 1, 0, 0, 0), (2013, 2, 1, 0, 0, 0)) Month)
               [ "წინა თვე"
               ]
    , examples (datetimeInterval ((2013, 3, 1, 0, 0, 0), (2013, 4, 1, 0, 0, 0)) Month)
               [ "შემდეგი თვე"
               ]
    , examples (datetimeInterval ((2013, 4, 1, 0, 0, 0), (2013, 7, 1, 0, 0, 0)) Quarter)
               [ "შემდეგ კვარტალში"
               ]
    , examples (datetimeInterval ((2012, 1, 1, 0, 0, 0), (2013, 1, 1, 0, 0, 0)) Year)
               [ "შარშან"
               , "წინა წელს"
               ]
    , examples (datetimeInterval ((2014, 1, 1, 0, 0, 0), (2015, 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, 26, 0, 0, 0) Day)
               [ "შემდეგ სამშაბათს"
               ]
    , examples (datetime (2013, 2, 20, 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, 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 (2013, 10, 3, 0, 0, 0) Day)
               [ "ოქტომბრის მესამე დღე"
               , "ოქტომბრის მე-3 დღე"
               ]
    , examples (datetime (2013, 10, 1, 0, 0, 0) Day)
               [ "ოქტომბრის პირველი სამშაბათი"
               , "ოქტომბრის 1-ლი სამშაბათი"
               ]
    , examples (datetime (2013, 9, 17, 0, 0, 0) Day)
               [ "სექტემბრის მესამე სამშაბათი"
               , "სექტემბრის მე-3 სამშაბათი"
               ]
    , examples (datetime (2013, 10, 2, 0, 0, 0) Day)
               [ "ოქტომბრის პირველი ოთხშაბათი"
               , "ოქტომბრის 1-ლი ოთხშაბათი"
               ]
    , examples (datetime (2013, 10, 9, 0, 0, 0) Day)
               [ "ოქტომბრის მეორე ოთხშაბათი"
               , "ოქტომბრის მე-2 ოთხშაბათი"
               ]
    , examples (datetime (2013, 2, 13, 3, 18, 0) Minute)
               [ "3:18am"
               , "3:18a"
               ]
    , examples (datetime (2013, 2, 12, 15, 0, 0) Hour)
               [ "15 საათზე"
               , "3PM"
               , "3pm"
               ]
    , examples (datetime (2013, 2, 12, 15, 15, 0) Minute)
               [ "4-ის 15 წუთზე"
               , "3 საათსა და 15 წუთზე"
               , "15:15"
               , "3:15pm"
               , "3:15PM"
               , "3:15p"
               ]
    , examples (datetime (2013, 2, 12, 15, 20, 0) Minute)
               [ "15 საათსა და 20 წუთზე"
               , "4-ის 20 წუთზე"
               , "3:20p"
               ]
    , examples (datetime (2013, 2, 12, 15, 30, 0) Minute)
               [ "4-ის ნახევარზე"
               , "15 საათსა და 30 წუთზე"
               , "15:30"
               , "3:30pm"
               , "3:30PM"
               , "330 p.m."
               , "3:30 p m"
               , "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 წუთზე"
               , "11:45am"
               ]
    , examples (datetime (2013, 2, 12, 20, 0, 0) Hour)
               [ "20 საათი"
               , "20 საათზე"
               ]
    , examples (datetime (2013, 2, 16, 9, 0, 0) Hour)
               [ "შაბათს 9-ზე"
               ]
    , examples (datetime (2013, 2, 16, 9, 0, 0) Hour)
               [ "შაბათს 9 საათზე"
               ]
    , examples (datetime (2013, 2, 5, 4, 0, 0) Hour)
               [ "7 დღის წინ"
               , "შვიდი დღის წინ"
               ]
    , examples (datetime (2013, 1, 29, 4, 0, 0) Hour)
               [ "14 დღის წინ"
               , "თოთხმეტი დღის წინ"
               ]
    , examples (datetime (2013, 2, 5, 0, 0, 0) Day)
               [ "1 კვირის წინ"
               , "ერთი კვირის წინ"
               ]
    , examples (datetime (2013, 1, 22, 0, 0, 0) Day)
               [ "3 კვირის წინ"
               , "სამი კვირის წინ"
               ]
    , examples (datetime (2012, 11, 12, 0, 0, 0) Day)
               [ "სამი თვის წინ"
               , "3 თვის წინ"
               ]
    , examples (datetime (2011, 2, 1, 0, 0, 0) Month)
               [ "ორი წლის წინ"
               , "ორი წლის წინ"
               ]
    , examples (datetimeInterval ((2013, 6, 1, 0, 0, 0), (2013, 9, 1, 0, 0, 0)) Day)
               [ "ამ ზაფხულს"
               , "ამ ზაფხულში"
               ]
    , examples (datetimeInterval ((2012, 12, 1, 0, 0, 0), (2013, 3, 1, 0, 0, 0)) Day)
               [ "ამ ზამთარს"
               , "ამ ზამთარში"
               ]
    , examples (datetimeInterval ((2012, 9, 23, 0, 0, 0), (2012, 12, 20, 0, 0, 0)) Day)
               [ "წინა სეზონზე"
               ]
    , examples (datetimeInterval ((2013, 2, 11, 18, 0, 0), (2013, 2, 12, 0, 0, 0)) Hour)
               [ "გუშინ ღამე"
               , "გუშინ ღამით"
               ]
    , examples (datetimeInterval ((2013, 2, 11, 21, 0, 0), (2013, 2, 12, 0, 0, 0)) Hour)
               [ "გუშინ გვიან ღამე"
               , "გუშინ გვიან ღამით"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 13, 0, 0, 0)) Hour)
               [ "დღეს საღამოს"
               , "დღეს ღამე"
               ]
    , examples (datetimeInterval ((2013, 2, 9, 0, 0, 0), (2013, 2, 11, 0, 0, 0)) Day)
               [ "გასულ უქმეებზე"
               , "გასულ შაბათ-კვირას"
               ]
    , examples (datetimeInterval ((2013, 2, 13, 18, 0, 0), (2013, 2, 14, 0, 0, 0)) Hour)
               [ "ხვალ საღამოს"
               ]
    , examples (datetimeInterval ((2013, 2, 11, 18, 0, 0), (2013, 2, 12, 0, 0, 0)) Hour)
               [ "გუშინ საღამოს"
               ]
    , examples (datetimeInterval ((2013, 2, 16, 0, 0, 0), (2013, 2, 18, 0, 0, 0)) Day)
               [ "ამ შაბათკვირას"
               ]
    , examples (datetimeInterval ((2013, 2, 18, 4, 0, 0), (2013, 2, 18, 12, 0, 0)) Hour)
               [ "ორშაბათს დილას"
               , "ორშაბათს დილა"
               ]
    , examples (datetimeInterval ((2013, 2, 15, 4, 0, 0), (2013, 2, 15, 12, 0, 0)) Hour)
               [ "15 თებერვალი დილა"
               , "15 თებერვალს დილას"
               , "15 თებერვლის დილა"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 29, 58), (2013, 2, 12, 4, 30, 1)) Second)
               [ "ბოლო 2 წამი"
               , "ბოლო 2 წამში"
               ]
    , examples (datetimeInterval ((2013, 7, 13, 0, 0, 0), (2013, 7, 16, 0, 0, 0)) Day)
               [ "ივლისი 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, 14, 9, 30, 0), (2013, 2, 14, 11, 1, 0)) Minute)
               [ "ხუთშაბათი 9:30-დან 11:00-მდე"
               -- , "ხუთშაბათს 10-ის ნახევრიდან 11:00-მდე"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 26, 0, 0, 0)) Second)
               [ "ორი კვირის განმავლობაში"
               , "2 კვირის განმავლობაში"
               ]
    , examples (datetimeInterval ((2013, 2, 21, 0, 0, 0), (2013, 3, 1, 0, 0, 0)) Day)
               [ "თვის ბოლო"
               , "თვის ბოლოსთვის"
               , "თვის ბოლოსკენ"
               , "ამ თვის ბოლო"
               , "ამ თვის ბოლოსთვის"
               , "ამ თვის ბოლოსკენ"
               ]
    , examples (datetime (2013, 2, 12, 14, 0, 0) Hour)
               [ "დღეს შუადღის 2-ზე"
               , "დღეს დღის 2-ზე"
               -- , "დღეს შუადღის ორზე"
               ]
    , examples (datetime (2013, 2, 13, 15, 0, 0) Hour)
               [ "ხვალ დღის 3-ზე"
               -- , "ხვალ დღის სამზე"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 13, 0, 0, 0)) Hour)
               [ "საღამოს"
               , "დღეს საღამოს"
               , "დღეს ღამე"
               , "ღამე"
               , "ღამით"
               ]
    , examples (datetime (2013, 2, 12, 13, 30, 0) Minute)
               [ "1 საათსა და 30 წუთზე"
               , "2-ის ნახევარზე"
               , "2-ის ნახევარი"
               , "1 საათი და 30 წუთი"
               ]
    , examples (datetime (2013, 2, 12, 4, 45, 0) Second)
               [ "15 წუთში"
               ]
    , examples (datetimeInterval ((2013, 2, 12, 4, 0, 0), (2013, 2, 12, 12, 0, 0)) Hour)
               [ "დღეს დილას"
               ]
    , examples (datetime (2013, 2, 18, 0, 0, 0) Day)
               [ "ორშაბათი"
               , "ორშაბათს"
               ]
    , examples (datetime (2013, 2, 12, 12, 0, 0) Hour)
               [ "12 საათი"
               , "12 საათზე"
               , "დღის 12 საათზე"
               ]
    , examples (datetime (2013, 3, 1, 0, 0, 0) Month)
               [ "მარტი"
               ]
    , examples (datetime (2013, 2, 13, 17, 0, 0) Hour)
               [ "ხვალ დღის 5"
               , "ხვალ შუადღის 5"
               , "ხვალ დღის 5-ზე"
               , "ხვალ შუადღის 5-ზე"
               , "ხვალ დღის 5 საათი"
               , "ხვალ შუადღის 5 საათი"
               , "ხვალ დღის 5 საათზე"
               , "ხვალ შუადღის 5 საათზე"
               ]
    , examples (datetime (2013, 2, 12, 10, 30, 0) Minute)
               [ "დილის 10:30"
               , "დილის 10 საათსა და 30 წუთზე"
               , "დილის 10 საათი და 30 წუთი"
               ]
    , examples (datetime (2013, 2, 12, 23, 0, 0) Hour)
               [ "დღეს ღამის 11"
               , "დღეს ღამის 11-ზე"
               , "დღეს ღამის 11 საათი"
               , "დღეს ღამის 11 საათზე"
               ]
    , examples (datetime (2013, 2, 12, 4, 23, 0) Minute)
               [ "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, 26, 0, 0, 0), (2013, 10, 28, 0, 0, 0)) Day)
               [ "ოქტომბრის ბოლო უქმეები"
               , "ოქტომბრის ბოლო შაბათ-კვირა"
               ]
    , examples (datetimeInterval ((2017, 12, 23, 0, 0, 0), (2017, 12, 25, 0, 0, 0)) Day)
               [ "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 აგვისტო"
               ]
    , examples (datetimeInterval ((2013, 4, 21, 0, 0, 0), (2013, 5, 1, 0, 0, 0)) Day)
               [ "აპრილის ბოლო"
               ]
    , examples (datetimeInterval ((2014, 1, 1, 0, 0, 0), (2014, 1, 11, 0, 0, 0)) Day)
               [ "იანვრის დასაწყისი"
               ]
    , examples (datetimeInterval ((2013, 1, 1, 0, 0, 0), (2013, 4, 1, 0, 0, 0)) Month)
               [ "წლის დასაწყისი"
               , "ამ წლის დასაწყისი"
               ]
    , examples (datetimeInterval ((2012, 12, 1, 0, 0, 0), (2013, 2, 1, 0, 0, 0)) Month)
               [ "გასულ ორ თვეში"
               , "გასულ 2 თვეში"
               , "გასულ 2 თვეს"
               ]
    , examples (datetimeInterval ((2013, 1, 21, 0, 0, 0), (2013, 2, 11, 0, 0, 0)) Week)
               [ "გასული 3 კვირა"
               ]
  {-
    , examples (datetimeInterval ((2013, 5, 1, 0, 0, 0), (2013, 6, 1, 0, 0, 0)) Month)
               [ "მიმდინარე წლის მაისში"
               , "წელს მაისში"
               ]
  -}
    , examples (datetimeInterval ((2013, 4, 1, 0, 0, 0), (2013, 7, 1, 0, 0, 0)) Quarter)
               [ "წელს მეორე კვარტალში"
               ]
    ]
  