{-# LANGUAGE OverloadedLists #-} {-# LANGUAGE OverloadedStrings #-} module Language.French where -- import Data.Map.Strict qualified as Map import Language.Pronunciation as Pron import Worksheets.Utils.Prelude {- pronunciation = Pron.pronunciation pronunciationDict pronunciationDict = lexerDict pronunciationMap pronunciationMap :: Map Text (Map PronContext LexemePron) pronunciationMap = [ ful "de" := single "də" ["de" & occurence] , ful "des" := single "de" ["des" & occurence] , ful "est" := single "e" ["est" & occurence] -- TODO: Est , ful "et" := single "e" ["et" & occurence] , ful "huit" := single "ɥit" ["huit" & occurence] , ful "jer" := single "jɛʁ" ["jer" & occurence] , ful "le" := single "lə" ["le" & occurence] , ful "les" := single "le" ["les" & occurence] , ful "mes" := single "me" ["mes" & occurence] , ful "messieurs" := single "mesjø" ["messieurs" & occurence] , ful "monsieur" := single "məsjø" ["monsieur" & occurence] , ful "net" := single "nɛt" ["net" & occurence] , ful "ses" := single "se" ["ses" & occurence] , ful "tes" := single "te" ["tes" & occurence] , ful "un" := single "œ̃" ["un" & occurence] , ful "zut" := single "zut" ["zut" & occurence] , ful "à" := single "a" ["à" & occurence] , inf "'" := single "" [] , inf "-" := single "" [] , inf "," := single "" [] , inf "?" := single "" [] , inf "!" := single "" [] , inf borderLeftText := single "" [] , inf borderRightText := single "" [] , inf "demi" := single "dəmi" ["demi" & occurence] , inf "a" := single "a" ["a" & occurence, "bri"] , inf "aï" := single "ai" ["c", "aï" & occurence, "man"] , inf "aïa" := single "aja" ["ab", "aïa" & occurence] , inf "aïen" := single "ajɑ̃" ["f", "aïen" & occurence, "ce"] , inf "aïenn" := single "ajɛn" ["p", "aïenn" & occurence, "e"] , -- , inf "faï" := single "faj" ["faï" & occurence, "ence"] pre "ai" := single "ɛ" ["ai" & occurence, "r"] , inf "ai" := single "e" ["ai" & occurence, "guille"] , inf "ain" := single "ɛ̃" ["m", "ain" & occurence] , inf "aine" := single "ɛ̃n" ["l", "aine" & occurence] , inf "aines" := single "ɛ̃n" ["l", "aines" & occurence] , suf "aim" := single "ɛ̃" ["f", "aim" & occurence] , inf "aill" := single "aj" ["f", "aill" & occurence, "e"] , pre "aid" := single "ɛd" ["aid" & occurence, "e"] , pre "aig" := single "eg" ["aig" & occurence, "le"] , pre "ail" := single "aj" ["ail" & occurence] , pre "aile" := single "ɛlə" ["aile" & occurence] , pre "aill" := single "aj" ["aill" & occurence, "oliser"] , pre "aim" := single "ɛm" ["aim" & occurence, "ant"] , pre "ains" := single "ɛ̃s" ["ains" & occurence, "i"] , pre "ainé" := single "ɛne" ["ainé" & occurence, "e"] , pre "air" := single "ɛr" ["air" & occurence] , inf "alcool" := single "alkɔl" ["alcool" & occurence] , inf "am" := multi [ [PronContextBeforeBorder] := LexemePron{lexemePronunciation = "am", lexemeExample = ["im", "am" & occurence]} , [PronContextBeforeAnyVowel] := LexemePron{lexemePronunciation = "am", lexemeExample = ["am" & occurence, "i"]} , [PronContextBeforeAny] := LexemePron{lexemePronunciation = "ɑ̃", lexemeExample = ["am" & occurence, "bulance"]} ] , -- , inf "amb" := single "ɑ̃b" ["amb" & occurence, "ulance"] -- , inf "amp" := single "ɑ̃p" ["amp" & occurence, "oule"] -- , inf "amph" := single "ɑ̃f" ["amph" & occurence, "ithéâtre"] -- , inf "an" := multi -- [ [PronContextBeforeBorder] := LexemePron{lexemePronunciation="ɑ̃", lexemeExample=["pl", "an" & occurence]} -- , [PronContextBeforeAnyVowel] := LexemePron{lexemePronunciation="an", lexemeExample=["an" & occurence, "imal"]} -- , [PronContextBeforeAny] := LexemePron{lexemePronunciation="ɑ̃", lexemeExample=["an" & occurence, "tilope"]} -- ] inf "an" := single "ɑ̃" ["an" & occurence, "tilope"] , inf "ana" := single "ana" ["ana" & occurence, "tomie"] , inf "anu" := single "anu" ["anu" & occurence, "aire"] , inf "anui" := single "anɥi" ["anui" & occurence, "té"] , inf "anè" := single "anɛ" ["pl", "anè" & occurence, "te"] , inf "ani" := single "ani" ["ani" & occurence, "mal"] , inf "ann" := single "an" ["ann" & occurence, "ée"] , inf "ano" := single "ano" ["ano" & occurence, "lis"] , inf "ats-u" := single "azy" ["éta", "ts-u" & occurence, "nien"] , inf "au" := single "o" ["au" & occurence, "jourd'hui"] , inf "ax" := single "aks" ["s", "ax" & occurence, "ophone"] , inf "b" := single "b" ["b" & occurence, "ateau"] , inf "beau" := single "bo" ["beau" & occurence] , inf "br" := single "bʁ" ["br" & occurence, "in"] , inf "c" := single "k" ["la", "c" & occurence] , ful "c" := single "s" ["c" & occurence, "'est"] , inf "ç" := single "s" ["ç" & occurence, "a"] , inf "ccha" := single "ka" ["sa", "ccha" & occurence, "ride"] , inf "ce" := single "sə" ["ce" & occurence, "rise"] , inf "ceau" := single "so" ["mor", "ceau" & occurence] , inf "cein" := single "sɛ̃" ["cein" & occurence, "ture"] , inf "cen" := single "sɑ̃" ["cen" & occurence, "tigrade"] , inf "ceu" := single "sø" ["ceu" & occurence, "x"] , inf "co" := single "kɔ" ["co" & occurence, "chon"] , inf "ch" := single "ʃ" ["ch" & occurence, "apeau"] , inf "ci" := single "si" [] , inf "cin" := single "sɛ̃" ["cin" & occurence, "tre"] , inf "cina" := single "sina" [] , inf "cine" := single "sinə" [] , inf "cini" := single "sini" [] , inf "cinn" := single "sin" [] , inf "cinu" := single "sinu" [] , inf "coincin" := single "koɛ̃" ["coincin" & occurence, "érer"] , inf "coindi" := single "koɛ̃di" ["coindi" & occurence, "cation"] , inf "coindu" := single "koɛ̃dy" ["é", "coindu" & occurence, "strie"] , inf "coinfect" := single "koɛ̃fɛkt" ["coinfect" & occurence, "ion"] , inf "coinvent" := single "koɛ̃vɑ̃t" ["coinvent" & occurence, "er"] , inf "coinvest" := single "koɛ̃vɛst" ["coinvest" & occurence, "ir"] , pre "cond" := single "kɔ̃d" ["cond" & occurence, "ition"] , inf "cond" := single "gɔ̃d" ["se", "cond" & occurence, "e"] , inf "coop" := single "kɔɔp" ["coop" & occurence, "érer"] , inf "coor" := single "kɔɔʁ" ["coor" & occurence, "donner"] , inf "cun" := single "kyn" ["cun" & occurence, "éiforme"] , inf "cunc" := single "kɔ̃k" ["cunc" & occurence, "tateur"] , inf "oin" := single "wɛ̃" ["f", "oin" & occurence] , -- , inf "coin" := single "kwɛ̃" ["coin" & occurence, "cer"] inf "d" := single "d" ["d" & occurence, "odo"] , inf "deau" := single "do" ["deau" & occurence] , inf "dj" := single "dʒ" ["dj" & occurence, "embé"] , inf "e" := single "ə" ["d", "e" & occurence, "main"] , inf "eau" := single "o" ["eau" & occurence] , inf "eil" := single "ɛj" ["sol", "eil" & occurence] , inf "ell" := single "ɛl" ["b", "ell" & occurence, "e"] , inf "en" := single "ɑ̃" ["en" & occurence] , inf "ennui" := single "ɑ̃nɥi" ["ennui" & occurence] , inf "ena" := single "əna" ["prom", "ena" & occurence, "de"] , inf "enai" := single "ənɛ" ["pro", "menai" & occurence, "s"] , inf "enne" := single "ɛn" ["enne" & occurence, "mi"] , inf "em" := single "ɑ̃" ["em" & occurence, "prunter"] , -- , inf "emain" := single "əmɛ̃" ["lend", "emain" & occurence] inf "ess" := single "ɛs" ["f", "ess" & occurence, "e"] , inf "ett" := single "ɛt" ["toil", "ett" & occurence, "es"] , inf "eu" := single "ø" ["f", "eu" & occurence] , inf "euil" := single "œj" ["écur", "euil" & occurence] , inf "euill" := single "œj" ["f", "euill" & occurence, "e"] , inf "ill" := single "ij" ["f", "ill" & occurence, "e"] , inf "ex" := single "ɛks" ["ex" & occurence, "emple"] , inf "f" := single "f" ["f" & occurence, "orce"] , inf "ff" := single "f" ["tru", "ff" & occurence, "e"] , inf "feau" := single "fo" ["feau" & occurence] , inf "g" := single "g" ["g" & occurence, "ants"] , inf "gg" := single "g" ["tobo", "gg" & occurence, "an"] , inf "ge" := single "ʒə" ["ge" & occurence, "ler"] , suf "ge" := single "ʒ" ["rou", "ge" & occurence] , inf "gean" := single "ʒɑ̃" ["man", "gean" & occurence, "t"] , inf "gé" := single "ʒe" ["gé" & occurence, "ant"] , inf "gue" := single "ge" ["mar", "gue" & occurence, "rite"] , inf "guett" := single "gɛtt" ["ba", "guett" & occurence, "e"] , inf "gn" := single "ɲ" ["mar", "gue" & occurence, "rite"] , inf "gnom" := single "gnɔm" ["gnom" & occurence, "e"] , suf "ger" := single "ʒe" ["lé", "ger" & occurence] , suf "gt" := single "" ["doi", "gt" & occurence & silent] , suf "gts" := single "" ["doi", "gts" & occurence & silent] , inf "h" := single "" ["h" & occurence, "ôpital"] , inf "i" := single "i" ["i" & occurence, "ci"] , inf "ied" := single "je" ["p", "ied" & occurence] , inf "ien" := single "jɛ̃" ["ch", "ien" & occurence] , inf "ienn" := single "jɛn" ["ch", "ienn" & occurence, "e"] , suf "im" := single "im" ["verbat", "im" & occurence] , inf "ima" := single "ima" ["ima" & occurence, "ge"] , inf "imi" := single "imi" ["imi" & occurence, "ter"] , inf "imb" := single "ɛ̃b" ["imb" & occurence, "itable"] , inf "imp" := single "ɛ̃p" ["imp" & occurence, "rimer"] , inf "imm" := single "im" ["imm" & occurence, "obile"] , inf "imu" := single "imu" ["st", "imu" & occurence, "lant"] , -- , inf "im" -- := multi -- [ [PronContextBeforeBorder] := LexemePron{lexemePronunciation = "", lexemeExample = } -- , [PronContextBeforeAnyVowel] := LexemePron{lexemePronunciation = "im", lexemeExample = ["im" & occurence, "ortel"]} -- , [PronContextBeforeAny] := LexemePron{lexemePronunciation = "ɛ̃", lexemeExample = ["im" & occurence, "primer"]} -- ] inf "in" := multi [ [PronContextBeforeBorder] := LexemePron{lexemePronunciation = "ɛ̃", lexemeExample = ["merl", "in" & occurence]} , [PronContextBeforeAnyVowel] := LexemePron{lexemePronunciation = "in", lexemeExample = ["ord", "in" & occurence, "ateur"]} , [PronContextBeforeAny] := LexemePron{lexemePronunciation = "ɛ̃", lexemeExample = ["in" & occurence, "terdit"]} ] , -- , inf "in" := single "ɛ̃" ["merl", "in" & occurence] -- , inf "ina" := single "ina" ["ord", "ina" & occurence, "teur"] -- , inf "ine" := single "in" ["rout", "ine" & occurence] -- , inf "inent" := single "in" ["dess", "inent" & occurence] -- , inf "iner" := single "inɛʁ" ["iner" & occurence, "tie"] -- , inf "inex" := single "inɛgz" ["inex" & occurence, "istant"] -- , inf "inexp" := single "inɛksp" ["inexp" & occurence, "licable"] -- , inf "inima" := single "inima" ["inima" & occurence, "ginable"] -- , inf "inimi" := single "inimi" ["inimi" & occurence, "table"] -- , inf "inimp" := single "inimp" ["inimp" & occurence, "ortant"] -- , inf "ininf" := single "inɛ̃" ["ininf" & occurence, "lammation"] -- , inf "inint" := single "inɛ̃t" ["inint" & occurence, "éressant"] -- , inf "inn" := single "in" ["inn" & occurence, "ocent"] -- , inf "ino" := single "ino" ["ino" & occurence, "dore"] -- , inf "inu" := single "inu" ["inu" & occurence, "tile"] -- , inf "ix" := single "iks" ["phén", "ix" & occurence] -- , inf "gine" := single "ʒin" ["an", "gine" & occurence] inf "ei" := single "ɛ" ["n", "ei" & occurence, "ge"] , inf "eix" := single "e" ["Senou", "eix" & occurence] , inf "j" := single "ʒ" ["j" & occurence, "our"] , inf "k" := single "k" ["k" & occurence, "oala"] , inf "l" := single "l" ["l" & occurence, "oup"] , inf "L" := single "l" ["l" & occurence, "oup"] , -- , inf "leau" := single "lo" ["leau" & occurence] inf "ll" := single "l" ["mi", "ll" & occurence, "e"] , inf "m" := single "m" ["m" & occurence, "anger"] , -- , inf "meau" := single "mo" ["meau" & occurence] inf "min" := single "min" ["min" & occurence, "ute"] , inf "mm" := single "m" ["po", "mm" & occurence, "e"] , inf "ec" := single "ɛk" ["b", "ec" & occurence] , -- , inf "err" := single "ɛʁ" ["err" & occurence, "eur"] -- , inf "er" := single "ɛʁ" ["er" & occurence, "got"] inf "erb" := single "ɛʁb" ["h", "erb" & occurence, "e"] , inf "erch" := single "ɛʁʃ" ["ch", "erch" & occurence, "e"] , inf "err" := single "eʁ" ["err" & occurence, "eur"] -- errer -- , inf "era" := single "əʁa" ["s", "era" & occurence] -- , inf "erai" := single "əʁɛ" ["s", "erai" & occurence] , inf "era" := multi [ [PronContextBeforeAnyVowel] := LexemePron{lexemePronunciation = "əʁ", lexemeExample = ["mer" & occurence, "ingue"]} , [PronContextBeforeAny] := LexemePron{lexemePronunciation = "ɛʁ", lexemeExample = ["mer" & occurence, "le"]} ] , inf "erin" := single "əʁɛ̃" ["m", "erin" & occurence, "gue"] , inf "n" := single "n" ["n" & occurence, "ager"] , inf "neau" := single "no" ["neau" & occurence] , pre "internet" := single "ɛ̃tɛʁnɛt" ["internet" & occurence] , pre "extranet" := single "ɛkstʁanɛt" ["extranet" & occurence] , inf "nett" := single "net" ["n", "ett" & occurence, "oyer"] , inf "o" := single "o" ["zo", "o" & occurence] , inf "ô" := single "o" ["n", "ô" & occurence, "tre"] , suf "cerf" := single "sɛʁ" ["cerf" & occurence] , suf "cerfs" := single "sɛʁ" ["cerfs" & occurence] , suf "nerf" := single "nɛʁ" ["nerf" & occurence] , suf "nerfs" := single "nɛʁ" ["nerfs" & occurence] , suf "iole" := single "ijɔl" ["carr", "iole" & occurence] , suf "ole" := single "ɔl" ["éc", "ole" & occurence] , suf "oles" := single "ɔl" ["éc", "oles" & occurence] , suf "ome" := single "ɔm" ["t", "ome" & occurence] , suf "omes" := single "ɔm" ["t", "omes" & occurence] , suf "omme" := single "ɔm" ["p", "omme" & occurence] , suf "ommes" := single "ɔm" ["p", "ommes" & occurence] , -- , inf "ro" := single "ʁɔ" ["ro" & occurence, "main"] inf "oi" := single "wa" ["oi" & occurence, "seau"] , suf "oid" := single "wa" ["fr", "oid" & occurence] , suf "oids" := single "wa" ["fr", "oids" & occurence] , inf "onn" := single "ɔn" ["pers", "onn" & occurence, "e"] , inf "on" := single "ɔ̃" ["on" & occurence, "gle"] , inf "onu" := single "ɔnu" ["m", "onu" & occurence, "ment"] , inf "oni" := single "ɔni" ["oni" & occurence, "rique"] , inf "onin" := single "ɔnɛ̃" ["lé", "onin" & occurence] , inf "onine" := single "ɔnin" ["lé", "onine" & occurence] , suf "one" := single "ɔn" ["téléph", "one" & occurence] , suf "ones" := single "ɔn" ["téléph", "ones" & occurence] , inf "oo" := single "u" ["c", "oo" & occurence, "l"] , inf "ou" := single "u" ["ou" & occurence, "blier"] , inf "oû" := single "u" ["cr", "oû" & occurence, "tte"] , inf "p" := single "p" ["p" & occurence, "apa"] , inf "pp" := single "p" ["envelo", "pp" & occurence, "e"] , inf "peau" := single "po" ["peau" & occurence] , inf "ph" := single "f" ["ph" & occurence, "oto"] , inf "qu" := single "k" ["qu" & occurence, "itter"] , inf "r" := single "ʁ" ["a", "r" & occurence, "bre"] , suf "riz" := single "ʁi" ["riz" & occurence] , inf "rr" := single "ʁ" ["biza", "rr" & occurence, "e"] , inf "rena" := single "ʁəna" ["rena" & occurence, "rd"] , inf "rai" := single "ʁɛ" ["rai" & occurence, "sin"] , inf "rè" := single "ʁɛ" ["rè" & occurence, "gle"] , pre "s" := single "s" ["s" & occurence, "a"] , inf "s" := multi [ [PronContextBeforeAnyVowel] := LexemePron{lexemePronunciation = "z", lexemeExample = ["ti", "s" & occurence, "ane"]} , [PronContextBeforeAnySemiVowel] := LexemePron{lexemePronunciation = "z", lexemeExample = ["pari", "s" & occurence, "ienne"]} , [PronContextBeforeAny] := LexemePron{lexemePronunciation = "s", lexemeExample = ["s", "a" & occurence]} ] , inf "scill" := single "sil" ["o", "scill" & occurence, "er"] , inf "seau" := single "so" ["seau" & occurence] , pre "rser" := single "ʁse" ["ve", "rser" & occurence] , pre "enser" := single "ɑ̃se" ["p", "enser" & occurence] , suf "ser" := single "ze" ["pe", "ser" & occurence] , inf "soi" := single "zwa" ["arro", "soi" & occurence, "r"] , inf "sif" := single "zif" ["abra", "sif" & occurence] , inf "ss" := single "s" ["t", "ss" & occurence, "u"] , inf "ssif" := single "sif" ["expre", "ssif" & occurence] , inf "stion" := single "tjɔ̃" ["que", "stion" & occurence] , inf "t" := single "t" ["ra", "t" & occurence, "eau"] , suf "rt" := single "ʁ" ["fo", "rt" & occurence] , suf "rts" := single "ʁ" ["fo", "rts" & occurence] , -- , inf "shirt" := single "ʃœʁt" ["shirt" & occurence] inf "tech" := single "tɛk" ["tech" & occurence, "nique"] , -- , inf "teau" := single "to" ["teau" & occurence] -- , inf "ti" := single "ti" ["ti" & occurence, "gre"] inf "tier" := single "tjɛʁ" ["tier" & occurence, "mondiser"] , inf "tion" := single "sjɔ̃" ["consomma", "tion" & occurence] , inf "tt" := single "t" ["bo", "tt" & occurence, "e"] , inf "u" := single "y" ["u" & occurence, "tile"] , inf "ui" := single "ɥi" ["f", "ui" & occurence, "te"] , pre "ukulele" := single "jukulele" ["ukulele" & occurence] , -- , inf "ui" := single "ɥi" ["ling", "ui" & occurence, "stique"] inf "v" := single "v" [] , -- , inf "va" := single "va" ["va" & occurence, "lise"] inf "veau" := single "vo" ["veau" & occurence] , -- , inf "vo" := single "vo" ["vo" & occurence, "ler"] inf "voi" := single "vwa" ["voi" & occurence, "ture"] , inf "vu" := single "vu" ["vu" & occurence, "e"] , inf "w" := single "w" [] , inf "may" := single "maj" ["may" & occurence, "onnaise"] , inf "ay" := single "ɛj" ["cr", "ay" & occurence, "on"] , -- , inf "aya" := single "aja" ["M", "aya"] inf "abbaye" := single "abei" ["abbaye" & occurence] , inf "ey" := multi [ [PronContextBeforeAnyVowel] := LexemePron{lexemePronunciation = "ɛj", lexemeExample = ["voll", "ey" & occurence, "eur"]} , [PronContextBeforeAnyConsonant] := LexemePron{lexemePronunciation = "ɛ", lexemeExample = ["voll", "ey" & occurence]} ] , pre "oy" := single "ɔj" ["oy" & occurence, "é"] , inf "oy" := multi [ [PronContextBeforeAnyVowel] := LexemePron{lexemePronunciation = "waj", lexemeExample = ["n", "oy" & occurence, "er"]} , [PronContextBeforeAny] := LexemePron{lexemePronunciation = "wa", lexemeExample = ["V", "oy" & occurence, "net"]} ] , inf "uy" := single "ɥij" ["gr", "uy" & occurence, "ère"] , inf "z" := single "z" ["z" & occurence, "izi"] , inf "zo" := single "zo" ["zo" & occurence, "o"] , inf "zoo" := single "zɔo" ["zoo" & occurence] , inf "zoom" := single "zum" ["zoom" & occurence] , inf "zoomorph" := single "zɔomɔʁf" ["zoom" & occurence] , inf "â" := single "ɑ" ["p", "â" & occurence, "te"] , inf "è" := single "ɛ" ["m", "è" & occurence, "re"] , inf "é" := single "e" ["é" & occurence, "léphant"] , inf "éen" := single "eɛ̃" ["europ", "éen" & occurence] , inf "ê" := single "ɛ" ["ê" & occurence, "tre"] , inf "ë" := single "ɛ" ["no", "ë" & occurence, "l"] , inf "î" := single "i" ["î" & occurence, "le"] , inf "œu" := single "ø" ["n", "œu" & occurence, "d" & silent] , pre "abrivent" := single "abʁivɑ̃" ["abrivent" & occurence] , pre "adjuvent" := single "adʒyvɑ̃" ["adjuvent" & occurence] , pre "antivent" := single "ɑ̃tivɑ̃" ["antivent" & occurence] , pre "auvent" := single "ovɑ̃" ["auvent" & occurence] , pre "avent" := single "avɑ̃" ["avent" & occurence] , pre "aï" := single "ai" ["c", "aï" & occurence, "man"] , pre "bavent" := single "bavɑ̃" ["bavent" & occurence] , pre "boutavent" := single "butavɑ̃" ["boutavent" & occurence] , pre "bouvent" := single "buvɑ̃" ["bouvent" & occurence] , pre "bénévent" := single "benevɑ̃" ["bénévent" & occurence] , pre "connivent" := single "konivɑ̃" ["connivenr" & occurence] , pre "contrevent" := single "kɔ̃tʁəvɑ̃" ["contrevent" & occurence] , pre "convent" := single "kɔ̃vɑ̃" ["convent" & occurence] , pre "couvent" := single "kuvɑ̃" ["couvent" & occurence] , pre "couvents" := single "kuvɑ̃" ["couvents" & occurence] , pre "engoulevent" := single "ɑ̃gulvɑ̃" ["engoulevent" & occurence] , pre "fervent" := single "fɛʁvɑ̃" ["fervent" & occurence] , pre "frévent" := single "fʁevɑ̃" ["frévent" & occurence] , pre "heurtevent" := single "œʁtəvɑ̃" ["heurtevent" & occurence] , pre "her" := single "ɛʁ" ["her" & occurence, "be"] , pre "hi" := single "i" ["hi" & occurence, "ver"] , pre "ill" := single "il" ["ill" & occurence, "étrisme"] , pre "jack" := single "dʒak" ["jack" & occurence] , pre "jazz" := single "dʒaz" ["jazz" & occurence] , pre "montsurvent" := single "mɔ̃syʁvɑ̃" ["montsurvent" & occurence] , -- , pre "ni" := single "ni" ["ni" & occurence, "ais"] pre "niai" := single "njɛ" ["niai" & occurence, "s"] , pre "paravent" := single "paʁavɑ̃" ["paravent" & occurence] , pre "sen" := multi [ [PronContextBeforeAny] := LexemePron{lexemePronunciation = "sɑ̃", lexemeExample = ["sen" & occurence, "t"]} , [PronContextBeforeAnyVowel] := LexemePron{lexemePronunciation = "sen", lexemeExample = ["sen" & occurence, "a"]} -- , inf "a" := LexemePron{lexemePronunciation="sen", lexemeExample=["sen" & occurence, "a"]} -- , inf "e" := LexemePron{lexemePronunciation="sən", lexemeExample=["sen" & occurence, "estre"]} -- , inf "i" := LexemePron{lexemePronunciation="sen", lexemeExample=["sen" & occurence, "ior"]} -- , inf "o" := LexemePron{lexemePronunciation="sen", lexemeExample=["Sen" & occurence, "oueix"]} -- , inf "u" := LexemePron{lexemePronunciation="sen", lexemeExample=[]} ] , pre "souvent" := single "suvɑ̃" ["souvent" & occurence] , pre "taillevent" := single "tɑjvɑ̃" ["taillevent" & occurence] , pre "tournevent" := single "tuʁnəvɑ̃" ["tournevent" & occurence] , pre "vent" := single "vɑ̃" ["vent" & occurence] , pre "virevent" := single "viʁvɑ̃" ["virevent" & occurence] , pre "volvent" := single "vɔlvɑ̃" ["volvent" & occurence] , pre "évent" := single "evɑ̃" ["évent" & occurence] , pre "œ" := single "œ" ["œ" & occurence, "uf"] , suf "ant" := single "ɑ̃" ["av", "ant" & occurence] , suf "asent" := single "az" ["déph", "asent" & occurence] , suf "cent" := single "s" ["lan", "cent" & occurence] , suf "cun" := single "kœ̃" ["au", "cun" & occurence] , suf "ds" := single "" ["renar", "ds" & occurence & silent] , suf "e" := single "" ["vu", "e" & occurence] , suf "ein" := single "ɛ̃" ["pl", "ein" & occurence] , suf "nent" := single "n" ["promè", "nent" & occurence] , suf "ent" := single "ɛ" ["mang", "ent" & occurence] , suf "er" := single "e" ["roul", "er" & occurence] , suf "es" := single "" ["vu", "es" & occurence] , suf "et" := single "ɛ" ["mur", "et" & occurence] , suf "ets" := single "ɛ" ["mur", "ets" & occurence] , suf "fum" := single "fœ̃" ["par", "fum" & occurence] , suf "hiver" := single "vɛʁ" ["hiver" & occurence] , suf "iaire" := single "jɛʁ" [] , pre "fier" := single "fjɛʁ" ["fier" & occurence] , pre "tier" := single "tjɛʁ" ["tier" & occurence] , suf "ier" := single "je" ["fum", "ier" & occurence] , suf "ierre" := single "jɛʁ" [] , suf "iert" := single "jɛʁ" [] , suf "iez" := single "je" ["fum", "ier" & occurence] , suf "isent" := single "iz" ["util", "isent" & occurence] , suf "ière" := single "jɛʁ" ["lum", "ière" & occurence] , suf "ièrent" := single "jɛʁ" ["suppl", "ièrent" & occurence] , suf "llaire" := single "jɛʁ" [] , suf "ller" := single "jɛʁ" [] , suf "llère" := single "jɛʁ" [] , suf "ment" := single "mɑ̃" ["égale", "ment" & occurence] , -- , suf "moins" := single "mwɛ̃" ["té", "moins" & occurence] suf "ouent" := single "u" ["j", "ouent" & occurence] , suf "ousent" := single "uz" ["", "asent" & occurence] , suf "p" := single "" ["lou", "p" & occurence & silent] , suf "ps" := single "" ["lou", "ps" & occurence & silent] , suf "rez" := single "ʁe" ["prend", "rez" & occurence] -- CorrectnessNote: valide aussi pour rez-de-chaussée , suf "s" := single "" ["do", "s" & occurence & silent] , suf "erse" := single "ɛʁs" ["trav", "erse" & occurence] , suf "se" := single "z" ["pau", "se" & occurence] , suf "ses" := single "z" ["pau", "ses" & occurence] , suf "sent" := single "s" ["ver", "sent" & occurence] , suf "sie" := single "zi" ["fantai", "sie" & occurence] , suf "ssent" := single "s" ["cha", "ssent" & occurence] , suf "t" := single "" ["ra", "t" & occurence & silent] , suf "tier" := single "tje" [] , suf "ts" := single "" ["enfan", "ts" & occurence & silent] , inf "û" := single "u" ["fl", "û" & occurence, "te"] , suf "um" := single "ɔm" ["maxim", "um" & occurence] , suf "un" := single "œ̃" ["dé", "fun" & occurence] , suf "usent" := single "yz" ["recl", "usent" & occurence] , suf "ver" := single "ve" ["archi", "ver" & occurence] , suf "x" := single "" ["chou", "x" & occurence & silent] , inf "y" := single "i" ["t", "y" & occurence, "pe"] , inf "ym" := single "ɛ̃" ["s", "ym" & occurence, "bole"] , inf "yn" := single "ɛ̃" ["s", "yn" & occurence, "taxe"] , suf "ya" := single "ja" ["Ma", "ya"] , inf "yx" := single "iks" ["on", "yx" & occurence] , suf "yaire" := single "jɛʁ" [] , suf "yer" := single "jɛʁ" [] , suf "yère" := single "jɛʁ" [] , suf "yèrent" := single "jɛʁ" [] , suf "èrent" := single "ɛʁ" ["mang", "èrent" & occurence] , suf "ïère" := single "jɛʁ" [] , -- , inf "re" := single "ʁə" ["re" & occurence, "nard"] -- , inf "ré" := single "ʁe" ["ré" & occurence, "ponse"] suf "xe" := single "s" ["dé", "fun" & occurence] -- , "can" := single "" [] -- , "eu" := single "œ" ["eu" & occurence, "ro"] -- , pre "caï" := single "kai" ["caï" & occurence, "man"] -- , suf "psie" := single "psi" ["prééclam", "psie" & occurence] -- , inf "gou" := single "gu" ["gou" & occurence, "rmandise"] -- , inf "goû" := single "gu" ["goû" & occurence, "ter"] -- , inf "gr" := single "gʁ" ["gr" & occurence, "andir"] -- , inf "ra" := single "ʁa" ["ra" & occurence, "teau"] -- , inf "gon" := single "gɔ" ["gon" & occurence, "fler"] -- , inf "ca" := single "ka" ["ca" & occurence, "deau"] -- , inf "caill" := single "kaj" ["caill" & occurence, "ou"] -- , inf "caim" := single "kɛm" [] -- , inf "caiss" := single "kɛs" ["caiss" & occurence, "e"] -- , inf "cair" := single "kɛʁ" ["cair" & occurence, "n"] -- , inf "cain" := single "kɛ̃" [] -- , inf "cair" := single "kɛʁ" ["cair" & occurence, "n"] -- , inf "caiss" := single "kɛs" ["caiss" & occurence, "e" & silent] -- , inf "cait" := single "ket" [] -- , inf "co" := single "kɔ" ["co" & occurence, "chon"] -- , inf "cou" := single "ku" ["cou" & occurence, "de"] -- , inf "coû" := single "ku" ["coû" & occurence, "ter"] -- , inf "cu" := single "ky" ["cu" & occurence, "lotte"] -- , inf "de" := single "də" ["de" & occurence, "main"] -- , inf "dé" := single "de" ["dé" & occurence, "but"] -- , inf "ga" := single "ga" ["ga" & occurence, "teau"] -- , inf "gan" := single "gɑ̃" ["gan" & occurence, "ts"] -- , inf "gang" := single "gɑ̃g" ["gang" & occurence] inf "0" := single "zeʁo" ["0" & occurence] , inf "1" := single "œ̃" ["1" & occurence] , inf "2" := single "dø" ["2" & occurence] , inf "3" := single "tʁwɑ" ["3" & occurence] , inf "4" := single "katʁ" ["4" & occurence] , inf "5" := single "sɛ̃k" ["5" & occurence] , inf "6" := single "sis" ["6" & occurence] , inf "7" := single "sɛt" ["7" & occurence] , inf "8" := single "ɥit" ["8" & occurence] , inf "9" := single "nœf" ["9" & occurence] ] & list & foldMap (\(ks, v) -> [(k, v) | k <- ks]) & mapFromListCheckingDuplicates where single pron exs = Map.singleton PronContextBeforeAny $ LexemePron{lexemePronunciation = pron, lexemeExample = exs} multi l = l & list & foldMap (\(ks, v) -> [(k, v) | k <- ks]) & mapFromListCheckingDuplicates -} {- pronunciationRules_ :: Pron.Table pronunciationRules_ = [ "a" := Rule{rulePron = "a", ruleExamples = [["a" & occurence]]} , "à" := Rule{rulePron = "a", ruleExamples = [["à" & occurence]]} --, "B" := Rule{rulePron = "be", ruleExamples = [["B" & occurence]]} --, "M" := Rule{rulePron = "ɛm", ruleExamples = [["M" & occurence]]} --, "X" := Rule{rulePron = "iks", ruleExamples = [["X" & occurence]]} , "â" := Rule{rulePron = "ɑ", ruleExamples = [["p", "â" & occurence, "te"]]} , "ai" := Rule{rulePron = "ɛ", ruleExamples = [["a" & occurence]]} , "aill" := Rule{rulePron = "aj", ruleExamples = [["f", "aill" & occurence, "e"], ["aill" & occurence, "eurs"]]} , "ain" := Rule{rulePron = "ɛ̃", ruleExamples = [["ain" & occurence, "si"]]} , "an" <> [LexemeConsonant] := Rule{rulePron = "ɑ̃", ruleExamples = [["an" & occurence, "tenne"]]} , "am" <> [LexemeConsonant] := Rule{rulePron = "ɑ̃", ruleExamples = [["am" & occurence, "bulance"]]} , "may" <> [LexemeVowel] := Rule{rulePron = "maj", ruleExamples = [["may" & occurence, "onaise"]]} , "May" <> [LexemeVowel] := Rule{rulePron = "maj", ruleExamples = [["May" & occurence, "a"]]} , "Mer" <> [LexemeConsonant] := Rule{rulePron = "mɛʁ", ruleExamples = [["Mer" & occurence, "lin"]]} , "mer" <> [LexemeConsonant] := Rule{rulePron = "mɛʁ", ruleExamples = [["mer" & occurence, "ci"]]} , word "mer" := Rule{rulePron = "mɛʁ", ruleExamples = [["mer" & occurence]]} , "b" := Rule{rulePron = "b", ruleExamples = [["b" & occurence]]} , "o" := Rule{rulePron = "o", ruleExamples = [["o" & occurence, "h"]]} , "a" := Rule{rulePron = "a", ruleExamples = [["a" & occurence, "bri"]]} , "ï" := Rule{rulePron = "i", ruleExamples = [["c", "aï" & occurence, "man"]]} , "aï" <> [LexemeVowel] := Rule{rulePron = "ai", ruleExamples = [["f", "aïen" & occurence, "ce"]]} , "ai" <> [LexemeVowel] := Rule{rulePron = "ai", ruleExamples = [["f", "aïen" & occurence, "ce"]]} , "ain" := Rule{rulePron = "ɛ̃", ruleExamples = [["m", "ain" & occurence]]} , "aine" := Rule{rulePron = "ɛ̃n", ruleExamples = [["l", "aine" & occurence]]} , "aim" := Rule{rulePron = "ɛ̃", ruleExamples = [["f", "aim" & occurence]]} , "alcool" := Rule{rulePron = "alkɔl", ruleExamples = [["alcool" & occurence]]} , "aon" := Rule{rulePron = "ɑ̃", ruleExamples = [["p", "aon" & occurence]]} , "han" <> [LexemeBorder] := Rule{rulePron = "an", ruleExamples = [["Yo", "han" & occurence]]} , "an" <> [LexemeSilent] := Rule{rulePron = "ɑ̃", ruleExamples = [["flam", "an" & occurence, "d"]]} , "an" <> [LexemeBorder] := Rule{rulePron = "ɑ̃", ruleExamples = [["pélic", "an" & occurence]]} , "an" <> [LexemeConsonant] := Rule{rulePron = "ɑ̃", ruleExamples = [["an" & occurence, "tilope"]]} , "an" <> [LexemeVowel] := Rule{rulePron = "an", ruleExamples = [["an" & occurence, "atomie"]]} , "ann" := Rule{rulePron = "an", ruleExamples = [["ann" & occurence, "ée"]]} , -- , "ats-u" := Rule { rulePron = "azy", ruleExamples = [["éta", "ts-u" & occurence, "nien"]] } "au" := Rule{rulePron = "o", ruleExamples = [["au" & occurence, "cun"]]} , "ax" := Rule{rulePron = "aks", ruleExamples = [["s", "ax" & occurence, "ophone"]]} , "b" := Rule{rulePron = "b", ruleExamples = [["b" & occurence, "ateau"]]} , "eau" := Rule{rulePron = "bo", ruleExamples = [["beau" & occurence]]} , -- , ful "c" := single "s" ["c" & occurence, "'est"] -- , pre "cond" := single "kɔ̃d" ["cond" & occurence, "ition"] "c" := Rule{rulePron = "k", ruleExamples = [["co" & occurence, "chon"], ["la", "c" & occurence]]} , ending "céros" := Rule{rulePron = "seʁɔs", ruleExamples = [["rhi", "céros" & occurence]]} , "c" <> [LexemeVowel] := Rule{rulePron = "s", ruleExamples = [["cé" & occurence, "ramique"]]} , "co" := Rule{rulePron = "kɔ", ruleExamples = [["co" & occurence, "pain"]]} , "ca" := Rule{rulePron = "ka", ruleExamples = [["ca" & occurence, "fé"]]} , "can" <> [LexemeBorder] := Rule{rulePron = "kɑ̃", ruleExamples = [["péli", "can" & occurence]]} , "can" <> [LexemeConsonant] := Rule{rulePron = "kɑ̃", ruleExamples = [["can" & occurence, "tine"]]} , "cann" <> [] := Rule{rulePron = "kan", ruleExamples = [["cann" & occurence, "e"]]} , "ç" := Rule{rulePron = "s", ruleExamples = [["ç" & occurence, "a"]]} --, "ce" := Rule{rulePron = "sə", ruleExamples = [["ce" & occurence, "rise"]]} --, "cé" := Rule{rulePron = "se", ruleExamples = [["cé" & occurence, "ramique"]]} --, "cè" := Rule{rulePron = "sɛ", ruleExamples = [["cè" & occurence, "dre"]]} --, "ceau" := Rule{rulePron = "so", ruleExamples = [["mor", "ceau" & occurence]]} --, "cein" := Rule{rulePron = "sɛ̃", ruleExamples = [["cein" & occurence, "ture"]]} --, "cen" <> [LexemeConsonant] := Rule{rulePron = "sɑ̃", ruleExamples = [["cen" & occurence, "tigrade"]]} --, "ceu" := Rule{rulePron = "sø", ruleExamples = [["ceu" & occurence, "x"]]} , "ch" := Rule{rulePron = "ʃ", ruleExamples = [["ch" & occurence, "apeau"]]} , "chr" := Rule{rulePron = "kɹ", ruleExamples = [["chr" & occurence, "omosome"]]} , "chen" := Rule{rulePron = "ʃən", ruleExamples = [["chen" & occurence, "ille"]]} , "lichen" := Rule{rulePron = "likən", ruleExamples = [["lichen" & occurence]]} , "ci" := Rule{rulePron = "si", ruleExamples = [["ci" & occurence, "néma"]]} , "cc" := Rule{rulePron = "k", ruleExamples = [["sa", "cc" & occurence, "ade"], ["sa", "cc" & occurence, "haride"]]} , "cci" := Rule{rulePron = "ksi", ruleExamples = [["co", "cci" & occurence, "nelle"]]} , "ck" := Rule{rulePron = "k", ruleExamples = [["cri", "ck" & occurence, "et"]]} --, "ccha" := Rule{rulePron = "ka", ruleExamples = []} , "cou" := Rule{rulePron = "ku", ruleExamples = [["cou" & occurence, "cher"]]} , "coincin" := Rule{rulePron = "koɛ̃", ruleExamples = [["coincin" & occurence, "érer"]]} , "coindi" := Rule{rulePron = "koɛ̃di", ruleExamples = [["coindi" & occurence, "cation"]]} , "coindu" := Rule{rulePron = "koɛ̃dy", ruleExamples = [["é", "coindu" & occurence, "strie"]]} , "coinfect" := Rule{rulePron = "koɛ̃fɛkt", ruleExamples = [["coinfect" & occurence, "ion"]]} , "coinvent" := Rule{rulePron = "koɛ̃vɑ̃t", ruleExamples = [["coinvent" & occurence, "er"]]} , "coinvest" := Rule{rulePron = "koɛ̃vɛst", ruleExamples = [["coinvest" & occurence, "ir"]]} , "second" := Rule{rulePron = "səgɔ̃d", ruleExamples = [["second" & occurence, "e"]]} , "coop" := Rule{rulePron = "kɔɔp", ruleExamples = [["coop" & occurence, "érer"]]} , "coor" := Rule{rulePron = "kɔɔʁ", ruleExamples = [["coor" & occurence, "donner"]]} , "cu" := Rule{rulePron = "ky", ruleExamples = [["cu" & occurence, "ve"]]} , "cun" := Rule{rulePron = "kyn", ruleExamples = [["cun" & occurence, "éiforme"]]} , "cunc" := Rule{rulePron = "kɔ̃k", ruleExamples = [["cunc" & occurence, "tateur"]]} , "cueill" := Rule{rulePron = "kœj", ruleExamples = [["cueill" & occurence, "e"]]} , "d" := Rule{rulePron = "d", ruleExamples = [["d" & occurence, "odo"]]} , word "de" := Rule{rulePron = "də", ruleExamples = [["de" & occurence]]} -- the final e is not silent , "dj" := Rule{rulePron = "dʒ", ruleExamples = [["dj" & occurence, "embé"]]} , "e" := Rule{rulePron = "ə", ruleExamples = [["d", "e" & occurence, "main"]]} , "Emm" := Rule{rulePron = "ɛm", ruleExamples = [["Emm" & occurence, "anuelle"]]} , "Ez" := Rule{rulePron = "ɛz", ruleExamples = [["Ez" & occurence, "ra"]]} , "è" := Rule{rulePron = "ɛ", ruleExamples = [["m", "è" & occurence, "re"]]} , "é" := Rule{rulePron = "e", ruleExamples = [["é" & occurence, "léphant"]]} , "ê" := Rule{rulePron = "ɛ", ruleExamples = [["ê" & occurence, "tre"]]} , "ë" := Rule{rulePron = "ɛ", ruleExamples = [["no", "ë" & occurence, "l"]]} , "eau" := Rule{rulePron = "o", ruleExamples = [["eau" & occurence]]} , "eil" := Rule{rulePron = "ɛj", ruleExamples = [["sol", "eil" & occurence]]} , "ell" := Rule{rulePron = "ɛl", ruleExamples = [["b", "ell" & occurence, "e"]]} , "ec" := Rule{rulePron = "ɛk", ruleExamples = [["b", "ec" & occurence]]} , "eck" := Rule{rulePron = "ɛk", ruleExamples = [["g", "eck" & occurence, "o"]]} , "éen" := Rule{rulePron = "eɛ̃", ruleExamples = [["europ", "éen" & occurence]]} , "ei" := Rule{rulePron = "ɛ", ruleExamples = [["n", "ei" & occurence, "ge"]]} , "eix" := Rule{rulePron = "e", ruleExamples = [["Senou", "eix" & occurence]]} , "em" := Rule{rulePron = "ɑ̃", ruleExamples = [["em" & occurence, "prunter"]]} --, "ena" := Rule{rulePron = "əna", ruleExamples = [["prom", "ena" & occurence, "de"]]} , "enai" := Rule{rulePron = "ənɛ", ruleExamples = [["pro", "menai" & occurence, "s"]]} , "ennui" := Rule{rulePron = "ɑ̃nɥi", ruleExamples = [["ennui" & occurence]]} , word "en" := Rule{rulePron = "ɑ̃", ruleExamples = [["en" & occurence]]} , "en" <> [LexemeConsonant] := Rule{rulePron = "ɑ̃", ruleExamples = [["en" & occurence]]} , "enne" := Rule{rulePron = "ɛn", ruleExamples = [["enne" & occurence, "mi"]]} , "erb" := Rule{rulePron = "ɛʁb", ruleExamples = [["h", "erb" & occurence, "e"]]} , "erch" := Rule{rulePron = "ɛʁʃ", ruleExamples = [["ch", "erch" & occurence, "e"]]} , "err" := Rule{rulePron = "eʁ", ruleExamples = [["err" & occurence, "eur"]]} -- errer , begining "ess" := Rule{rulePron = "es", ruleExamples = [["ess" & occurence, "uyer"]]} , begining "es" := Rule{rulePron = "ɛs", ruleExamples = [["es" & occurence, "cargot"]]} , "ess" := Rule{rulePron = "ɛs", ruleExamples = [["f", "ess" & occurence, "e"]]} , "ett" := Rule{rulePron = "ɛt", ruleExamples = [["toil", "ett" & occurence, "es"]]} , "eu" := Rule{rulePron = "ø", ruleExamples = [["f", "eu" & occurence]]} , "eur" := Rule{rulePron = "œʁ", ruleExamples = [["tract", "eur" & occurence]]} , "euil" := Rule{rulePron = "œj", ruleExamples = [["écur", "euil" & occurence]]} , "euill" := Rule{rulePron = "œj", ruleExamples = [["f", "euill" & occurence, "e"]]} , "ex" := Rule{rulePron = "ɛks", ruleExamples = [["ex" & occurence, "emple"]]} , "f" := Rule{rulePron = "f", ruleExamples = [["f" & occurence, "orce"]]} , "ff" := Rule{rulePron = "f", ruleExamples = [["tru", "ff" & occurence, "e"]]} , "feau" := Rule{rulePron = "fo", ruleExamples = [["feau" & occurence]]} , "g" := Rule{rulePron = "g", ruleExamples = [["g" & occurence, "ants"]]} , "g" <> [LexemeVowel] := Rule{rulePron = "ʒ", ruleExamples = [["g", "irafe"]]} , "gre" <> [LexemeConsonant] := Rule{rulePron = "gʁə", ruleExamples = [["gre" & occurence, "nouille"]]} , "serpent" := Rule{rulePron = "sɛʁpɑ̃", ruleExamples = [["serpent" & occurence]]} , word "arpent" := Rule{rulePron = "aʁpɑ̃", ruleExamples = [["apent" & occurence]]} , "gg" := Rule{rulePron = "g", ruleExamples = [["tobo", "gg" & occurence, "an"]]} --, "ge" := Rule{rulePron = "ʒə", ruleExamples = [["ge" & occurence, "ler"]]} , "gean" := Rule{rulePron = "ʒɑ̃", ruleExamples = [["man", "gean" & occurence, "t"]]} , "geon" := Rule{rulePron = "ʒɔ̃", ruleExamples = [["pi", "geon" & occurence]]} --, "gé" := Rule{rulePron = "ʒe", ruleExamples = [["gé" & occurence, "ant"]]} , "ga" := Rule{rulePron = "ga", ruleExamples = [["ga" & occurence, "teau"]]} , "gue" := Rule{rulePron = "ge", ruleExamples = [["mar", "gue" & occurence, "rite"]]} , "guett" := Rule{rulePron = "gɛtt", ruleExamples = [["ba", "guett" & occurence, "e"]]} , "gn" := Rule{rulePron = "ɲ", ruleExamples = [["si", "gn" & occurence, "e"]]} , "gu" := Rule{rulePron = "g", ruleExamples = [["gu" & occurence, "ide"]]} , "gou" := Rule{rulePron = "gu", ruleExamples = [["kan", "gou" & occurence, "rou"]]} , "gnom" := Rule{rulePron = "gnɔm", ruleExamples = [["gnom" & occurence, "e"]]} , "h" := Rule{rulePron = "", ruleExamples = [["h" & occurence, "ôpital"]]} , "i" := Rule{rulePron = "i", ruleExamples = [["i" & occurence, "ci"]]} , "î" := Rule{rulePron = "i", ruleExamples = [["î" & occurence, "le"]]} , "ied" := Rule{rulePron = "je", ruleExamples = [["p", "ied" & occurence]]} , "ien" := Rule{rulePron = "jɛ̃", ruleExamples = [["ch", "ien" & occurence]]} , "ienn" := Rule{rulePron = "jɛn", ruleExamples = [["ch", "ienn" & occurence, "e"]]} , "ill" := Rule{rulePron = "ij", ruleExamples = [["f", "ill" & occurence, "e"]]} , -- , "ima" := Rule { rulePron = "ima", ruleExamples = [["ima" & occurence, "ge"]] } -- , "imi" := Rule { rulePron = "imi", ruleExamples = [["imi" & occurence, "ter"]] } "imb" := Rule{rulePron = "ɛ̃b", ruleExamples = [["imb" & occurence, "itable"]]} , "imp" := Rule{rulePron = "ɛ̃p", ruleExamples = [["imp" & occurence, "rimer"]]} , "imu" := Rule{rulePron = "imu", ruleExamples = [["st", "imu" & occurence, "lant"]]} , "in" <> [LexemeConsonant] := Rule{rulePron = "ɛ̃", ruleExamples = [["in" & occurence, "terdit"]]} , "j" := Rule{rulePron = "ʒ", ruleExamples = [["j" & occurence, "our"]]} , "k" := Rule{rulePron = "k", ruleExamples = [["k" & occurence, "oala"]]} , "l" := Rule{rulePron = "l", ruleExamples = [["l" & occurence, "oup"]]} , "L" := Rule{rulePron = "l", ruleExamples = [["l" & occurence, "oup"]]} , "ll" := Rule{rulePron = "l", ruleExamples = [["mi", "ll" & occurence, "e"]]} , "m" := Rule{rulePron = "m", ruleExamples = [["m" & occurence, "anger"]]} , "may" := Rule{rulePron = "maj", ruleExamples = [["may" & occurence, "onnaise"]]} , "min" := Rule{rulePron = "min", ruleExamples = [["min" & occurence, "ute"]]} , "mm" := Rule{rulePron = "m", ruleExamples = [["po", "mm" & occurence, "e"]]} , "n" := Rule{rulePron = "n", ruleExamples = [["n" & occurence, "ager"]]} , "nn" := Rule{rulePron = "n", ruleExamples = [["perso", "nn" & occurence, "e"]]} , "o" := Rule{rulePron = "o", ruleExamples = [["zo", "o" & occurence]]} , "ô" := Rule{rulePron = "o", ruleExamples = [["n", "ô" & occurence, "tre"]]} , "œu" := Rule{rulePron = "ø", ruleExamples = [["n", "œu" & occurence, "d" & silent]]} , "oi" := Rule{rulePron = "wa", ruleExamples = [["oi" & occurence, "seau"]]} , "oin" <> [LexemeBorder] := Rule{rulePron = "wɛ̃", ruleExamples = [["f", "oin" & occurence]]} , "oin" <> [LexemeSilent] := Rule{rulePron = "wɛ̃", ruleExamples = [["m", "oin" & occurence, "s"]]} , "oin" <> [LexemeConsonant] := Rule{rulePron = "wɛ̃", ruleExamples = [["p", "oint" & occurence, "u"]]} , "om" <> [LexemeConsonant] := Rule{rulePron = "ɔ̃", ruleExamples = [["on" & occurence, "gle"]]} , "omm" := Rule{rulePron = "omm", ruleExamples = [["h", "omm" & occurence, "e"]]} --, "oms" := Rule{rulePron = "ɔ̃", ruleExamples = [["bonb","ons" & occurence]]} , "onn" := Rule{rulePron = "on", ruleExamples = [["d", "onn" & occurence, "e"]]} , "on" <> [LexemeSilent] := Rule{rulePron = "ɔ̃", ruleExamples = [["on" & occurence]]} , "on" <> [LexemeBorder] := Rule{rulePron = "ɔ̃", ruleExamples = [["on" & occurence]]} , "on" <> [LexemeConsonant] := Rule{rulePron = "ɔ̃", ruleExamples = [["on" & occurence, "gle"]]} , "ons" := Rule{rulePron = "ɔ̃", ruleExamples = [["bonb","ons" & occurence]]} , "oo" := Rule{rulePron = "u", ruleExamples = [["c", "oo" & occurence, "l"]]} , "ouille" := Rule{rulePron = "uj", ruleExamples = [["gren", "ouille" & occurence]]} , "ou" := Rule{rulePron = "u", ruleExamples = [["ou" & occurence, "blier"]]} , word "ours" := Rule{rulePron = "uʁs", ruleExamples = [["ours" & occurence]]} , "oû" := Rule{rulePron = "u", ruleExamples = [["g", "oû" & occurence, "ter"]]} , "ey" <> [LexemeVowel] := Rule{rulePron = "ɛj", ruleExamples = [["voll", "ey" & occurence, "eur"]]} , "ey" <> [LexemeConsonant] := Rule{rulePron = "ɛ", ruleExamples = [["voll", "ey" & occurence]]} , "oy" <> [LexemeVowel] := Rule{rulePron = "waj", ruleExamples = [["n", "oy" & occurence, "er"]]} , "oy" := Rule{rulePron = "wa", ruleExamples = [["V", "oy" & occurence, "net"]]} , "p" := Rule{rulePron = "p", ruleExamples = [["p" & occurence, "apa"]]} , "pp" := Rule{rulePron = "p", ruleExamples = [["envelo", "pp" & occurence, "e"]]} , "ph" := Rule{rulePron = "f", ruleExamples = [["ph" & occurence, "oto"]]} , "qu" := Rule{rulePron = "k", ruleExamples = [["qu" & occurence, "itter"]]} , "cqu" := Rule{rulePron = "k", ruleExamples = [["ja", "cqu" & occurence, "es"]]} , ending "burger" := Rule{rulePron = "bœʁgœʁ", ruleExamples = [["burger" & occurence]]} , "r" := Rule{rulePron = "ʁ", ruleExamples = [["a", "r" & occurence, "bre"]]} , "rr" := Rule{rulePron = "ʁ", ruleExamples = [["biza", "rr" & occurence, "e"]]} , "scill" := Rule{rulePron = "sil", ruleExamples = [["o", "scill" & occurence, "er"]]} , "stion" := Rule{rulePron = "tjɔ̃", ruleExamples = [["que", "stion" & occurence]]} , "serv" := Rule{rulePron = "sɛʁv", ruleExamples = [["serv" & occurence, "iette"]]} , "s" := Rule{rulePron = "s", ruleExamples = [["s" & occurence]]} , ([LexemeVowel] <> "s" <> [LexemeVowel]) := Rule{rulePron = "z", ruleExamples = [["osa" & occurence]]} , "ss" := Rule{rulePron = "s", ruleExamples = [["poi", "ss" & occurence, "on"]]} , "t" := Rule{rulePron = "t", ruleExamples = [["ra", "t" & occurence, "eau"]]} , "T" := Rule{rulePron = "t", ruleExamples = []} , "S" := Rule{rulePron = "s", ruleExamples = []} , "tt" := Rule{rulePron = "t", ruleExamples = [["bo", "tt" & occurence, "e"]]} , "tech" := Rule{rulePron = "tɛk", ruleExamples = [["tech" & occurence, "nique"]]} , "tion" := Rule{rulePron = "sjɔ̃", ruleExamples = [["consomma", "tion" & occurence]]} , "u" := Rule{rulePron = "y", ruleExamples = [["u" & occurence, "tile"]]} , "û" := Rule{rulePron = "u", ruleExamples = [["fl", "û" & occurence, "te"]]} , "ui" := Rule{rulePron = "ɥi", ruleExamples = [["f", "ui" & occurence, "te"]]} , "uy" := Rule{rulePron = "ɥi", ruleExamples = [["gr", "uy" & occurence, "ère"]]} -- y , "v" := Rule{rulePron = "v", ruleExamples = [["v" & occurence, "oir"]]} , "x" := Rule{rulePron = "gz", ruleExamples = [["e", "x" & occurence, "ercice"]]} , "w" := Rule{rulePron = "w", ruleExamples = [["w" & occurence, "agon"]]} , "y" := Rule{rulePron = "i", ruleExamples = [["t", "y" & occurence, "pe"]]} , "y" <> [LexemeVowel] := Rule{rulePron = "j", ruleExamples = []} , "Y" <> [LexemeVowel] := Rule{rulePron = "j", ruleExamples = []} , "ym" := Rule{rulePron = "ɛ̃", ruleExamples = [["s", "ym" & occurence, "bole"]]} , "yn" := Rule{rulePron = "ɛ̃", ruleExamples = [["s", "yn" & occurence, "taxe"]]} , "yx" := Rule{rulePron = "iks", ruleExamples = [["on", "yx" & occurence]]} , "z" := Rule{rulePron = "z", ruleExamples = [["z" & occurence, "izi"]]} , "zoo" := Rule{rulePron = "zɔo", ruleExamples = [["zoo" & occurence]]} , "zoom" := Rule{rulePron = "zum", ruleExamples = [["zoom" & occurence]]} , "zoomorph" := Rule{rulePron = "zɔomɔʁf", ruleExamples = [["zoom" & occurence]]} , "0" := Rule{rulePron = "zeʁo", ruleExamples = [["0" & occurence]]} , "1" := Rule{rulePron = "œ̃", ruleExamples = [["1" & occurence]]} , "2" := Rule{rulePron = "dø", ruleExamples = [["2" & occurence]]} , "3" := Rule{rulePron = "tʁwɑ", ruleExamples = [["3" & occurence]]} , "4" := Rule{rulePron = "katʁ", ruleExamples = [["4" & occurence]]} , "5" := Rule{rulePron = "sɛ̃k", ruleExamples = [["5" & occurence]]} , "6" := Rule{rulePron = "sis", ruleExamples = [["6" & occurence]]} , "7" := Rule{rulePron = "sɛt", ruleExamples = [["7" & occurence]]} , "8" := Rule{rulePron = "ɥit", ruleExamples = [["8" & occurence]]} , "9" := Rule{rulePron = "nœf", ruleExamples = [["9" & occurence]]} , begining "abbaye" := Rule{rulePron = "abei", ruleExamples = [["abbaye" & occurence]]} , begining "aiguill" := Rule{rulePron = "egɥij", ruleExamples = [["aiguill" & occurence, "e"]]} , begining "ai" := Rule{rulePron = "ɛ", ruleExamples = [["ai" & occurence, "r"]]} , begining "ail" := Rule{rulePron = "aj", ruleExamples = [["ail" & occurence]]} , ending "ail" := Rule{rulePron = "aj", ruleExamples = [["cor", "ail" & occurence]]} , begining "ail" := Rule{rulePron = "ɛl", ruleExamples = [["aile" & occurence]]} , begining "aill" := Rule{rulePron = "aj", ruleExamples = [["aill" & occurence, "oliser"]]} , begining "aim" := Rule{rulePron = "ɛm", ruleExamples = [["aim" & occurence, "ant"]]} , begining "ains" := Rule{rulePron = "ɛ̃s", ruleExamples = [["ains" & occurence, "i"]]} , begining "ainé" := Rule{rulePron = "ɛne", ruleExamples = [["ainé" & occurence, "e"]]} , begining "air" := Rule{rulePron = "ɛr", ruleExamples = [["air" & occurence]]} , begining "cin" := Rule{rulePron = "sɛ̃", ruleExamples = [["cin" & occurence, "tre"]]} , begining "distille" := Rule{rulePron = "distil", ruleExamples = [["distille" & occurence]]} , begining "extranet" := Rule{rulePron = "ɛkstʁanɛt", ruleExamples = [["extranet" & occurence]]} , begining "internet" := Rule{rulePron = "ɛ̃tɛʁnɛt", ruleExamples = [["internet" & occurence]]} , begining "mille" := Rule{rulePron = "mil", ruleExamples = [["mille" & occurence], ["mille" & occurence, "feuille"]]} , begining "oy" := Rule{rulePron = "ɔj", ruleExamples = [["oy" & occurence, "é"]]} , begining "tier" := Rule{rulePron = "tjɛʁ", ruleExamples = [["tier" & occurence, "mondiser"]]} , begining "tranquille" := Rule{rulePron = "tʁɑ̃kil", ruleExamples = [["tranquille" & occurence]]} , begining "ville" := Rule{rulePron = "vil", ruleExamples = [["ville" & occurence], ["ville" & occurence, "s"]]} , ending "ant" := Rule{rulePron = "ɑ̃", ruleExamples = [["av", "ant" & occurence]]} , ending "asent" := Rule{rulePron = "az", ruleExamples = [["déph", "asent" & occurence]]} , ending "cent" := Rule{rulePron = "s", ruleExamples = [["lan", "cent" & occurence]]} , ending "cerf" <> [LexemeMeaning "animal"] := Rule{rulePron = "sɛʁ", ruleExamples = [["cerf" & occurence]]} , ending "cerfs" <> [LexemeMeaning "animal"] := Rule{rulePron = "sɛʁ", ruleExamples = [["cerfs" & occurence]]} , ending "cun" := Rule{rulePron = "kœ̃", ruleExamples = [["au", "cun" & occurence]]} , ending "d" := Rule{rulePron = "", ruleExamples = [["froi", "d" & occurence & silent]]} , ending "ds" := Rule{rulePron = "", ruleExamples = [["froi", "ds" & occurence & silent]]} , ending "ds" := Rule{rulePron = "", ruleExamples = [["renar", "ds" & occurence & silent]]} , ending "e" := Rule{rulePron = "", ruleExamples = [["vu", "e" & occurence]]} , ending "ein" := Rule{rulePron = "ɛ̃", ruleExamples = [["pl", "ein" & occurence]]} , ending "ent" := Rule{rulePron = "", ruleExamples = [["mang", "ent" & occurence]]} , ending "er" := Rule{rulePron = "e", ruleExamples = [["roul", "er" & occurence]]} , ending "erse" := Rule{rulePron = "ɛʁs", ruleExamples = [["trav", "erse" & occurence]]} , ending "es" := Rule{rulePron = "", ruleExamples = [["vu", "es" & occurence]]} , ending "et" := Rule{rulePron = "ɛ", ruleExamples = [["livr", "et" & occurence]]} , ending "ets" := Rule{rulePron = "ɛ", ruleExamples = [["mur", "ets" & occurence]]} , ending "fum" := Rule{rulePron = "fœ̃", ruleExamples = [["par", "fum" & occurence]]} , ending "ge" := Rule{rulePron = "ʒ", ruleExamples = [["rou", "ge" & occurence]]} , ending "ger" := Rule{rulePron = "ʒe", ruleExamples = [["lé", "ger" & occurence]]} , ending "gt" := Rule{rulePron = "", ruleExamples = [["doi", "gt" & occurence & silent]]} , ending "gts" := Rule{rulePron = "", ruleExamples = [["doi", "gts" & occurence & silent]]} , ending "hiver" := Rule{rulePron = "vɛʁ", ruleExamples = [["hiver" & occurence]]} , ending "iaire" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , ending "ier" := Rule{rulePron = "je", ruleExamples = [["fum", "ier" & occurence]]} , ending "ierre" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , ending "iert" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , ending "iez" := Rule{rulePron = "je", ruleExamples = [["fum", "ier" & occurence]]} , ending "in" := Rule{rulePron = "ɛ̃", ruleExamples = [["merl", "in" & occurence]]} , ending "iole" := Rule{rulePron = "ijɔl", ruleExamples = [["carr", "iole" & occurence]]} , ending "isent" := Rule{rulePron = "iz", ruleExamples = [["util", "isent" & occurence]]} , ending "ière" := Rule{rulePron = "jɛʁ", ruleExamples = [["lum", "ière" & occurence]]} , ending "ièrent" := Rule{rulePron = "jɛʁ", ruleExamples = [["suppl", "ièrent" & occurence]]} , ending "llaire" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , ending "ller" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , ending "llère" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , ending "ment" := Rule{rulePron = "mɑ̃", ruleExamples = [["égale", "ment" & occurence]]} , ending "nent" := Rule{rulePron = "n", ruleExamples = [["promè", "nent" & occurence]]} , ending "nerf" := Rule{rulePron = "nɛʁ", ruleExamples = [["nerf" & occurence]]} , ending "nerfs" := Rule{rulePron = "nɛʁ", ruleExamples = [["nerfs" & occurence]]} , ending "oid" := Rule{rulePron = "wa", ruleExamples = [["fr", "oid" & occurence]]} , ending "oids" := Rule{rulePron = "wa", ruleExamples = [["fr", "oids" & occurence]]} , ending "ole" := Rule{rulePron = "ɔl", ruleExamples = [["éc", "ole" & occurence]]} , ending "oles" := Rule{rulePron = "ɔl", ruleExamples = [["éc", "oles" & occurence]]} , ending "ome" := Rule{rulePron = "ɔm", ruleExamples = [["t", "ome" & occurence]]} , ending "omes" := Rule{rulePron = "ɔm", ruleExamples = [["t", "omes" & occurence]]} , ending "omme" := Rule{rulePron = "ɔm", ruleExamples = [["p", "omme" & occurence]]} , ending "ommes" := Rule{rulePron = "ɔm", ruleExamples = [["p", "ommes" & occurence]]} , ending "one" := Rule{rulePron = "ɔn", ruleExamples = [["téléph", "one" & occurence]]} , ending "ones" := Rule{rulePron = "ɔn", ruleExamples = [["téléph", "ones" & occurence]]} , ending "ouent" := Rule{rulePron = "u", ruleExamples = [["j", "ouent" & occurence]]} , ending "ousent" := Rule{rulePron = "uz", ruleExamples = [["", "asent" & occurence]]} , ending "p" := Rule{rulePron = "", ruleExamples = [["lou", "p" & occurence & silent]]} , ending "ps" := Rule{rulePron = "", ruleExamples = [["lou", "ps" & occurence & silent]]} , ending "ips" := Rule{rulePron = "ips", ruleExamples = [["ch", "ips" & occurence]]} , ending "rez" := Rule{rulePron = "ʁe", ruleExamples = [["prend", "rez" & occurence]]} , ending "rt" := Rule{rulePron = "ʁ", ruleExamples = [["fo", "rt" & occurence]]} , ending "rts" := Rule{rulePron = "ʁ", ruleExamples = [["fo", "rts" & occurence]]} , ending "s" := Rule{rulePron = "", ruleExamples = [["do", "s" & occurence & silent]]} , ending ([LexemeVowel] <> "se") := Rule{rulePron = "z", ruleExamples = [["pau", "se" & occurence]]} , ending "ses" := Rule{rulePron = "z", ruleExamples = [["pau", "ses" & occurence]]} , ending "sent" := Rule{rulePron = "s", ruleExamples = [["ver", "sent" & occurence]]} , ending "sie" := Rule{rulePron = "zi", ruleExamples = [["fantai", "sie" & occurence]]} , ending "ssent" := Rule{rulePron = "s", ruleExamples = [["cha", "ssent" & occurence]]} , ending "t" := Rule{rulePron = "", ruleExamples = [["ra", "t" & occurence & silent]]} , ending "tier" := Rule{rulePron = "tje", ruleExamples = [[]]} , ending "ts" := Rule{rulePron = "", ruleExamples = [["enfan", "ts" & occurence & silent]]} , ending "um" := Rule{rulePron = "ɔm", ruleExamples = [["maxim", "um" & occurence]]} , ending "un" := Rule{rulePron = "œ̃", ruleExamples = [["dé", "fun" & occurence]]} , ending "usent" := Rule{rulePron = "yz", ruleExamples = [["recl", "usent" & occurence]]} , ending "ver" := Rule{rulePron = "ve", ruleExamples = [["archi", "ver" & occurence]]} , ending "x" := Rule{rulePron = "", ruleExamples = [["chou", "x" & occurence & silent]]} , ending "ya" := Rule{rulePron = "ja", ruleExamples = [["Ma", "ya"]]} , ending "yaire" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , ending "yer" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , ending "yère" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , ending "yèrent" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , ending "èrent" := Rule{rulePron = "ɛʁ", ruleExamples = [["mang", "èrent" & occurence]]} , ending "ïère" := Rule{rulePron = "jɛʁ", ruleExamples = [[]]} , word "Achille" := Rule{rulePron = "vil", ruleExamples = [["ville" & occurence], ["ville" & occurence, "s"]]} , word "Achille" := Rule{rulePron = "vil", ruleExamples = [["ville" & occurence], ["ville" & occurence, "s"]]} , word "ail" := Rule{rulePron = "aj", ruleExamples = [["ail" & occurence]]} , word "couvent" `meaning` "monastère" := Rule{rulePron = "kuvɑ̃", ruleExamples = [["couvent" & occurence]]} , word "des" := Rule{rulePron = "de", ruleExamples = [["des" & occurence]]} , word "est" := Rule{rulePron = "e", ruleExamples = [["est" & occurence]]} -- TODO: Est , word "et" := Rule{rulePron = "e", ruleExamples = [["et" & occurence]]} , begining "fier" `meaning` "fierté" := Rule{rulePron = "fjɛʁ", ruleExamples = [["fier" & occurence]]} , word "huit" := Rule{rulePron = "ɥit", ruleExamples = [["huit" & occurence]]} , word "jer" := Rule{rulePron = "jɛʁ", ruleExamples = [["jer" & occurence]]} , word "le" := Rule{rulePron = "lə", ruleExamples = [["le" & occurence]]} , word "les" := Rule{rulePron = "le", ruleExamples = [["les" & occurence]]} , word "mes" := Rule{rulePron = "me", ruleExamples = [["mes" & occurence]]} , word "messieurs" := Rule{rulePron = "mesjø", ruleExamples = [["messieurs" & occurence]]} , word "monsieur" := Rule{rulePron = "məsjø", ruleExamples = [["monsieur" & occurence]]} , word "net" := Rule{rulePron = "nɛt", ruleExamples = [["net" & occurence]]} , word "ses" := Rule{rulePron = "se", ruleExamples = [["ses" & occurence]]} , word "tes" := Rule{rulePron = "te", ruleExamples = [["tes" & occurence]]} , word "un" := Rule{rulePron = "œ̃", ruleExamples = [["un" & occurence]]} , word "zut" := Rule{rulePron = "zut", ruleExamples = [["zut" & occurence]]} -- , word "couvent" `meaning` "couver" := Rule{rulePron = "kuv", ruleExamples = [["couvent" & occurence]]} ] -}