packages feed

numerals-0.4: src-test/Text/Numeral/Language/FR/TestData.hs

{-# LANGUAGE NoImplicitPrelude   #-}
{-# LANGUAGE OverloadedStrings   #-}
{-# LANGUAGE PackageImports      #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UnicodeSyntax       #-}

{-|
[@ISO639-1@]        fr

[@ISO639-2B@]       fre

[@ISO639-3@]        fra

[@Native name@]     Français

[@English name@]    French
-}

module Text.Numeral.Language.FR.TestData (cardinals, ordinals) where


--------------------------------------------------------------------------------
-- Imports
--------------------------------------------------------------------------------

import "base" Prelude     ( Integral )
import "numerals" Text.Numeral.Grammar
import "numerals" Text.Numeral.Grammar.Reified ( defaultInflection )
import "numerals" Text.Numeral.Misc ( dec )
import "this" Text.Numeral.Test ( TestData )


--------------------------------------------------------------------------------
-- Test data
--------------------------------------------------------------------------------

{-
Sources:
  http://www.sf.airnet.ne.jp/~ts/language/number/french.html
  http://www.french-linguistics.co.uk/tutorials/numbers/
  http://www.parisbypod.com/2007/10/23/french-ordinal-numbers/
-}

cardinals ∷ (Integral i) ⇒ TestData i
cardinals =
  [ ( "masculine"
    , masculine defaultInflection
    , [ (0, "zéro")
      , (1, "un")
      , (2, "deux")
      , (3, "trois")
      , (4, "quatre")
      , (5, "cinq")
      , (6, "six")
      , (7, "sept")
      , (8, "huit")
      , (9, "neuf")
      , (10, "dix")
      , (11, "onze")
      , (12, "douze")
      , (13, "treize")
      , (14, "quatorze")
      , (15, "quinze")
      , (16, "seize")
      , (17, "dix-sept")
      , (18, "dix-huit")
      , (19, "dix-neuf")
      , (20, "vingt")
      , (21, "vingt et un")
      , (22, "vingt-deux")
      , (23, "vingt-trois")
      , (24, "vingt-quatre")
      , (25, "vingt-cinq")
      , (26, "vingt-six")
      , (27, "vingt-sept")
      , (28, "vingt-huit")
      , (29, "vingt-neuf")
      , (30, "trente")
      , (31, "trente et un")
      , (32, "trente-deux")
      , (33, "trente-trois")
      , (34, "trente-quatre")
      , (35, "trente-cinq")
      , (36, "trente-six")
      , (37, "trente-sept")
      , (38, "trente-huit")
      , (39, "trente-neuf")
      , (40, "quarante")
      , (41, "quarante et un")
      , (42, "quarante-deux")
      , (43, "quarante-trois")
      , (44, "quarante-quatre")
      , (45, "quarante-cinq")
      , (46, "quarante-six")
      , (47, "quarante-sept")
      , (48, "quarante-huit")
      , (49, "quarante-neuf")
      , (50, "cinquante")
      , (51, "cinquante et un")
      , (52, "cinquante-deux")
      , (53, "cinquante-trois")
      , (54, "cinquante-quatre")
      , (55, "cinquante-cinq")
      , (56, "cinquante-six")
      , (57, "cinquante-sept")
      , (58, "cinquante-huit")
      , (59, "cinquante-neuf")
      , (60, "soixante")
      , (61, "soixante et un")
      , (62, "soixante-deux")
      , (63, "soixante-trois")
      , (64, "soixante-quatre")
      , (65, "soixante-cinq")
      , (66, "soixante-six")
      , (67, "soixante-sept")
      , (68, "soixante-huit")
      , (69, "soixante-neuf")
      , (70, "soixante-dix")
      , (71, "soixante et onze")
      , (72, "soixante-douze")
      , (73, "soixante-treize")
      , (74, "soixante-quatorze")
      , (75, "soixante-quinze")
      , (76, "soixante-seize")
      , (77, "soixante-dix-sept")
      , (78, "soixante-dix-huit")
      , (79, "soixante-dix-neuf")
      , (80, "quatre-vingts")
      , (81, "quatre-vingt-un")
      , (82, "quatre-vingt-deux")
      , (83, "quatre-vingt-trois")
      , (84, "quatre-vingt-quatre")
      , (85, "quatre-vingt-cinq")
      , (86, "quatre-vingt-six")
      , (87, "quatre-vingt-sept")
      , (88, "quatre-vingt-huit")
      , (89, "quatre-vingt-neuf")
      , (90, "quatre-vingt-dix")
      , (91, "quatre-vingt-onze")
      , (92, "quatre-vingt-douze")
      , (93, "quatre-vingt-treize")
      , (94, "quatre-vingt-quatorze")
      , (95, "quatre-vingt-quinze")
      , (96, "quatre-vingt-seize")
      , (97, "quatre-vingt-dix-sept")
      , (98, "quatre-vingt-dix-huit")
      , (99, "quatre-vingt-dix-neuf")
      , (100, "cent")
      , (101, "cent et un")
      , (102, "cent deux")
      , (103, "cent trois")
      , (104, "cent quatre")
      , (105, "cent cinq")
      , (111, "cent et onze")
      , (122, "cent vingt-deux")
      , (123, "cent vingt-trois")
      , (144, "cent quarante-quatre")
      , (196, "cent quatre-vingt-seize")
      , (199, "cent quatre-vingt-dix-neuf")
      , (200, "deux cents")
      , (300, "trois cents")
      , (400, "quatre cents")
      , (500, "cinq cents")
      , (600, "six cents")
      , (700, "sept cents")
      , (800, "huit cents")
      , (900, "neuf cents")
      , (1000, "mille")
      , (1999, "mille neuf cent quatre-vingt-dix-neuf")
      , (2000, "deux mille")
      , (2999, "deux mille neuf cent quatre-vingt-dix-neuf")
      , (dec 4, "dix mille")
      , (dec 5, "cent mille")
      , (dec 6, "un million")
      , (dec 9, "un milliard")
      , (dec 12, "un billion")
      , (dec 15, "un billiard")
      , (dec 18, "un trillion")
      , (dec 21, "un trilliard")
      , (dec 24, "un quadrillion")
      , (dec 27, "un quadrilliard")
      , (dec 30, "un quintillion")
      , (dec 33, "un quintilliard")
      , (dec 36, "un sextillion")
      , (dec 39, "un sextilliard")
      , (dec 42, "un septillion")
      , (dec 45, "un septilliard")
      , (dec 48, "un octillion")
      , (dec 51, "un octilliard")
      , (dec 54, "un nonillion")
      , (dec 57, "un nonilliard")
      , (dec 60, "un décillion")
      , (dec 63, "un décilliard")
      , (dec 66, "un unodécillion")
      , (dec 69, "un unodécilliard")
      , (dec 72, "un duodécillion")
      , (dec 75, "un duodécilliard")
      , (dec 78, "un trédécillion")
      , (dec 81, "un trédécilliard")
      , (dec 84, "un quattuordécillion")
      , (dec 87, "un quattuordécilliard")
      , (dec 90, "un quindécillion")
      , (dec 93, "un quindécilliard")
      , (dec 96, "un sexdécillion")
      , (dec 99, "un sexdécilliard")
      , (dec 102, "un septendécillion")
      , (dec 105, "un septendécilliard")
      , (dec 108, "un octodécillion")
      , (dec 111, "un octodécilliard")
      , (dec 114, "un novemdécillion")
      , (dec 117, "un novemdécilliard")
      , (dec 120, "un vigintillion")
      , (dec 123, "un vigintilliard")
      , (dec 150, "un quinquavigintillion")
      , (dec 153, "un quinquavigintilliard")
      , (dec 180, "un trigintillion")
      , (dec 183, "un trigintilliard")
      , (dec 210, "un quinquatrigintillion")
      , (dec 213, "un quinquatrigintilliard")
      , (dec 240, "un quadragintillion")
      , (dec 243, "un quadragintilliard")
      , (dec 270, "un quinquaquadragintillion")
      , (dec 273, "un quinquaquadragintilliard")
      , (dec 300, "un quinquagintillion")
      , (dec 303, "un quinquagintilliard")
      , (dec 306, "un unoquinquagintillion")
      , (dec 309, "un unoquinquagintilliard")
      , (dec 360, "un sexagintillion")
      , (dec 363, "un sexagintilliard")
      , (dec 420, "un septuagintillion")
      , (dec 423, "un septuagintilliard")
      , (dec 480, "un octogintillion")
      , (dec 483, "un octogintilliard")
      , (dec 540, "un nonagintillion")
      , (dec 543, "un nonagintilliard")
      , (dec 600, "un centillion")
      , (dec 603, "un centilliard")
      ]
    )
  , ( "feminine"
    , feminine defaultInflection
    , [ (1, "une")
      ]
    )
  ]

ordinals ∷ (Integral i) ⇒ TestData i
ordinals =
  [ ( "masculine"
    , masculine defaultInflection
    , [ (0, "zéroth")
      , (1, "premier")
      , (2, "deuxième")
      , (3, "troisième")
      , (4, "quatrième")
      , (5, "cinquième")
      , (6, "sixième")
      , (7, "septième")
      , (8, "huitième")
      , (9, "neuvième")
      , (10, "dixième")
      , (11, "onzième")
      , (12, "douzième")
      , (13, "treizième")
      , (14, "quatorzième")
      , (15, "quinzième")
      , (16, "seizième")
      , (17, "dix-septième")
      , (18, "dix-huitième")
      , (19, "dix-neuvième")
      , (20, "vingtième")
      , (21, "vingt et unième")
      , (22, "vingt-deuxième")
      , (23, "vingt-troisième")
      , (24, "vingt-quatrième")
      , (25, "vingt-cinquième")
      , (26, "vingt-sixième")
      , (27, "vingt-septième")
      , (28, "vingt-huitième")
      , (29, "vingt-neuvième")
      , (30, "trentième")
      , (31, "trente et unième")
      , (32, "trente-deuxième")
      , (33, "trente-troisième")
      , (34, "trente-quatrième")
      , (35, "trente-cinquième")
      , (36, "trente-sixième")
      , (37, "trente-septième")
      , (38, "trente-huitième")
      , (39, "trente-neuvième")
      , (40, "quarantième")
      , (41, "quarante et unième")
      , (42, "quarante-deuxième")
      , (43, "quarante-troisième")
      , (44, "quarante-quatrième")
      , (45, "quarante-cinquième")
      , (46, "quarante-sixième")
      , (47, "quarante-septième")
      , (48, "quarante-huitième")
      , (49, "quarante-neuvième")
      , (50, "cinquantième")
      , (51, "cinquante et unième")
      , (52, "cinquante-deuxième")
      , (53, "cinquante-troisième")
      , (54, "cinquante-quatrième")
      , (55, "cinquante-cinquième")
      , (56, "cinquante-sixième")
      , (57, "cinquante-septième")
      , (58, "cinquante-huitième")
      , (59, "cinquante-neuvième")
      , (60, "soixantième")
      , (61, "soixante et unième")
      , (62, "soixante-deuxième")
      , (63, "soixante-troisième")
      , (64, "soixante-quatrième")
      , (65, "soixante-cinquième")
      , (66, "soixante-sixième")
      , (67, "soixante-septième")
      , (68, "soixante-huitième")
      , (69, "soixante-neuvième")
      , (70, "soixante-dixième")
      , (71, "soixante et onzième")
      , (72, "soixante-douzième")
      , (73, "soixante-treizième")
      , (74, "soixante-quatorzième")
      , (75, "soixante-quinzième")
      , (76, "soixante-seizième")
      , (77, "soixante-dix-septième")
      , (78, "soixante-dix-huitième")
      , (79, "soixante-dix-neuvième")
      , (80, "quatre-vingtième")
      , (81, "quatre-vingt-unième")
      , (82, "quatre-vingt-deuxième")
      , (83, "quatre-vingt-troisième")
      , (84, "quatre-vingt-quatrième")
      , (85, "quatre-vingt-cinquième")
      , (86, "quatre-vingt-sixième")
      , (87, "quatre-vingt-septième")
      , (88, "quatre-vingt-huitième")
      , (89, "quatre-vingt-neuvième")
      , (90, "quatre-vingt-dixième")
      , (91, "quatre-vingt-onzième")
      , (92, "quatre-vingt-douzième")
      , (93, "quatre-vingt-treizième")
      , (94, "quatre-vingt-quatorzième")
      , (95, "quatre-vingt-quinzième")
      , (96, "quatre-vingt-seizième")
      , (97, "quatre-vingt-dix-septième")
      , (98, "quatre-vingt-dix-huitième")
      , (99, "quatre-vingt-dix-neuvième")
      , (100, "centième")
      , (200, "deux centième")
      , (300, "trois centième")
      , (400, "quatre centième")
      , (500, "cinq centième")
      , (600, "six centième")
      , (700, "sept centième")
      , (800, "huit centième")
      , (900, "neuf centième")
      , (1000, "millième")
      , (dec 6, "millionième")
      , (dec 9, "milliardième")
      ]
    )
  , ( "feminine"
    , feminine defaultInflection
    , [ (1, "première")
      , (41, "quarante et uneième")
      ]
    )
  ]