{-# LANGUAGE OverloadedStrings #-} -- | -- Module : Text.Countable -- Copyright : © 2016 Brady Ouren -- License : MIT -- -- Maintainer : Brady Ouren -- Stability : experimental -- Portability : portable -- -- default seed data for transformations module Text.Countable.Data where import Data.Text (Text) -- |These default inflections stolen from the Ruby inflection library - see -- https://github.com/rails/rails/blob/master/activesupport/lib/active_support/inflections.rb defaultPlurals' :: [(Text, Text)] defaultPlurals' = [ ("$", "s") , ("s$", "s") , ("^(ax|test)is$", "\\1es") , ("(octop|vir)us$", "\\1i") , ("(octop|vir)i$", "\\1i") , ("(alias|status)$", "\\1es") , ("(bu)s$", "\\1ses") , ("(buffal|tomat)o$", "\\1oes") , ("([ti])um$", "\\1a") , ("([ti])a$", "\\1a") , ("sis$", "ses") , ("(?:([^f])fe|([lr])f)$", "\\1\2ves") , ("(hive)$", "\\1s") , ("([^aeiouy]|qu)y$", "\\1ies") , ("(x|ch|ss|sh)$", "\\1es") , ("(matr|vert|ind)(?:ix|ex)$", "\\1ices") , ("^(m|l)ouse$", "\\1ice") , ("^(m|l)ice$", "\\1ice") , ("^(ox)$", "\\1en") , ("^(oxen)$", "\\1") , ("(quiz)$", "\\1zes") ] -- |These default inflections stolen from the Ruby inflection library - see -- https://github.com/rails/rails/blob/master/activesupport/lib/active_support/inflections.rb defaultSingulars' :: [(Text, Text)] defaultSingulars' = [ ("s$", "") , ("(ss)$", "\\1") , ("(n)ews$", "\\1ews") , ("([ti])a$", "\\1um") , ("((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)(sis|ses)$", "\\1sis") , ("(^analy)(sis|ses)$", "\\1sis") , ("([^f])ves$", "\\1fe") , ("(hive)s$", "\\1") , ("(tive)s$", "\\1") , ("([lr])ves$", "\\1f") , ("([^aeiouy]|qu)ies$", "\\1y") , ("(s)eries$", "\\1eries") , ("(m)ovies$", "\\1ovie") , ("(x|ch|ss|sh)es$", "\\1") , ("^(m|l)ice$", "\\1ouse") , ("(bus)(es)?$", "\\1") , ("(o)es$", "\\1") , ("(shoe)s$", "\\1") , ("(cris|test)(is|es)$", "\\1is") , ("^(a)x[ie]s$", "\\1xis") , ("(octop|vir)(us|i)$", "\\1us") , ("(alias|status)(es)?$", "\\1") , ("^(ox)en", "\\1") , ("(vert|ind)ices$", "\\1ex") , ("(matr)ices$", "\\1ix") , ("(quiz)zes$", "\\1") , ("(database)s$", "\\1") ] -- |These default irregular inflections stolen from the Ruby inflection library - see -- https://github.com/rails/rails/blob/master/activesupport/lib/active_support/inflections.rb defaultIrregulars' :: [(Text, Text)] defaultIrregulars' = -- from singular to plural [ ("person", "people") , ("man", "men") , ("child", "children") , ("sex", "sexes") , ("move", "moves") , ("zombie", "zombies") ] -- |These default uncountable inflections stolen from the Ruby inflection library - see -- https://github.com/rails/rails/blob/master/activesupport/lib/active_support/inflections.rb defaultUncountables' :: [Text] defaultUncountables' = [ "equipment" , "information" , "rice" , "money" , "species" , "series" , "fish" , "sheep" , "jeans" , "police" ]