zeroNineteenMap :: HashMap Text Integer
zeroNineteenMap = HashMap.fromList
  [ ( "ნოლ"       , 0  )
  , ( "ნულ"       , 0  )
  , ( "ნული"      , 0  )
  , ( "ნოლ"       , 0  )
  , ( "ნოლი"      , 0  )
  , ( "ერთი"      , 1  )
  , ( "ორი"       , 2  )
  , ( "ორ"        , 2  )
  , ( "სამი"      , 3  )
  , ( "სამ"       , 3  )
  , ( "ოთხი"      , 4  )
  , ( "ოთხ"       , 4  )
  , ( "ხუთი"      , 5  )
  , ( "ხუთ"       , 5  )
  , ( "ექვსი"     , 6  )
  , ( "ექვს"      , 6  )
  , ( "შვიდი"     , 7  )
  , ( "შვიდ"      , 7  )
  , ( "რვა"       , 8  )
  , ( "რვ"        , 8  )
  , ( "ცხრა"      , 9  )
  , ( "ცხრ"       , 9  )
  , ( "ათი"       , 10 )
  , ( "აათი"      , 10 )
  , ( "თერთმეტი"  , 11 )
  , ( "თერთმეტ"   , 11 )
  , ( "თორმეტი"   , 12 )
  , ( "თორმეტ"    , 12 )
  , ( "ცამეტი"    , 13 )
  , ( "ცამეტ"     , 13 )
  , ( "თოთხმეტი"  , 14 )
  , ( "თოთხმეტ"   , 14 )
  , ( "თხუთმეტი"  , 15 )
  , ( "თხუთმეტ"   , 15 )
  , ( "თექვსმეტი" , 16 )
  , ( "თექვსმეტ"  , 16 )
  , ( "ჩვიდმეტი"  , 17 )
  , ( "ჩვიდმეტ"   , 17 )
  , ( "თვრამეტი"  , 18 )
  , ( "თვრამეტ"   , 18 )
  , ( "ცხრამეტი"  , 19 )
  , ( "ცხრამეტ"   , 19 )
  ]

informalMap :: HashMap Text Integer
informalMap = HashMap.fromList
  [ ( "ერთი"       , 1 )
  , ( "წყვილი"     , 2 )
  , ( "წყვილები"   , 2 )
  , ( "ცოტა"       , 3 )
  , ( "რამდენიმე"  , 3 )
  , ( "რამოდენიმე" , 3 )
  ]

ruleToNineteen :: Rule
ruleToNineteen = Rule
  { name = "integer (0..19)"
  , pattern =
    [ regex "(წყვილ(ებ)?ი|ცოტა|რამდენიმე|რამოდენიმე|ნოლი?|ნული?|ერთი|ორი?|სამი?|ოთხი?|ხუთი?|ექვსი?|შვიდი?|რვა|თერთმეტი
zeroNineteenMap :: HashMap Text Integer
zeroNineteenMap = HashMap.fromList
  [ ( "ნოლ"       , 0  )
  , ( "ნულ"       , 0  )
  , ( "ნული"      , 0  )
  , ( "ნოლ"       , 0  )
  , ( "ნოლი"      , 0  )
  , ( "ერთი"      , 1  )
  , ( "ორი"       , 2  )
  , ( "ორ"        , 2  )
  , ( "სამი"      , 3  )
  , ( "სამ"       , 3  )
  , ( "ოთხი"      , 4  )
  , ( "ოთხ"       , 4  )
  , ( "ხუთი"      , 5  )
  , ( "ხუთ"       , 5  )
  , ( "ექვსი"     , 6  )
  , ( "ექვს"      , 6  )
  , ( "შვიდი"     , 7  )
  , ( "შვიდ"      , 7  )
  , ( "რვა"       , 8  )
  , ( "რვ"        , 8  )
  , ( "ცხრა"      , 9  )
  , ( "ცხრ"       , 9  )
  , ( "ათი"       , 10 )
  , ( "აათი"      , 10 )
  , ( "თერთმეტი"  , 11 )
  , ( "თერთმეტ"   , 11 )
  , ( "თორმეტი"   , 12 )
  , ( "თორმეტ"    , 12 )
  , ( "ცამეტი"    , 13 )
  , ( "ცამეტ"     , 13 )
  , ( "თოთხმეტი"  , 14 )
  , ( "თოთხმეტ"   , 14 )
  , ( "თხუთმეტი"  , 15 )
  , ( "თხუთმეტ"   , 15 )
  , ( "თექვსმეტი" , 16 )
  , ( "თექვსმეტ"  , 16 )
  , ( "ჩვიდმეტი"  , 17 )
  , ( "ჩვიდმეტ"   , 17 )
  , ( "თვრამეტი"  , 18 )
  , ( "თვრამეტ"   , 18 )
  , ( "ცხრამეტი"  , 19 )
  , ( "ცხრამეტ"   , 19 )
  ]
zeroNineteenMap = HashMap.fromList
  [ ( "ნოლ"       , 0  )
  , ( "ნულ"       , 0  )
  , ( "ნული"      , 0  )
  , ( "ნოლ"       , 0  )
  , ( "ნოლი"      , 0  )
  , ( "ერთი"      , 1  )
  , ( "ორი"       , 2  )
  , ( "ორ"        , 2  )
  , ( "სამი"      , 3  )
  , ( "სამ"       , 3  )
  , ( "ოთხი"      , 4  )
  , ( "ოთხ"       , 4  )
  , ( "ხუთი"      , 5  )
  , ( "ხუთ"       , 5  )
  , ( "ექვსი"     , 6  )
  , ( "ექვს"      , 6  )
  , ( "შვიდი"     , 7  )
  , ( "შვიდ"      , 7  )
  , ( "რვა"       , 8  )
  , ( "რვ"        , 8  )
  , ( "ცხრა"      , 9  )
  , ( "ცხრ"       , 9  )
  , ( "ათი"       , 10 )
  , ( "აათი"      , 10 )
  , ( "თერთმეტი"  , 11 )
  , ( "თერთმეტ"   , 11 )
  , ( "თორმეტი"   , 12 )
  , ( "თორმეტ"    , 12 )
  , ( "ცამეტი"    , 13 )
  , ( "ცამეტ"     , 13 )
  , ( "თოთხმეტი"  , 14 )
  , ( "თოთხმეტ"   , 14 )
  , ( "თხუთმეტი"  , 15 )
  , ( "თხუთმეტ"   , 15 )
  , ( "თექვსმეტი" , 16 )
  , ( "თექვსმეტ"  , 16 )
  , ( "ჩვიდმეტი"  , 17 )
  , ( "ჩვიდმეტ"   , 17 )
  , ( "თვრამეტი"  , 18 )
  , ( "თვრამეტ"   , 18 )
  , ( "ცხრამეტი"  , 19 )
  , ( "ცხრამეტ"   , 19 )
  ]