Modul:fr-verb-konj

Hej, du har kommit hit för att leta efter betydelsen av ordet Modul:fr-verb-konj. I DICTIOUS hittar du inte bara alla ordboksbetydelser av ordet Modul:fr-verb-konj, utan du får också veta mer om dess etymologi, dess egenskaper och hur man säger Modul:fr-verb-konj i singular och plural. Allt du behöver veta om ordet Modul:fr-verb-konj finns här. Definitionen av ordet Modul:fr-verb-konj hjälper dig att vara mer exakt och korrekt när du talar eller skriver dina texter. Genom att känna till definitionen avModul:fr-verb-konj och andra ord berikar du ditt ordförråd och får tillgång till fler och bättre språkliga resurser.

Dokumentationen för denna modul kan skapas på Modul:fr-verb-konj/dok /test


Modul:fr-verb-konj/dok

-- Denna modul tabulerar konjugationen för franska verb.
-- 
-- Modulen består av tre delar. Den första delen innehåller preliminära
-- saker.
-- 
-- Den andra delen är funktioner som tar fram de korrekta verbformerna.
--
-- Den tredje delen är ett slags flödesschema för att se vilket sätt
-- det befintliga verbet ska konjugeras på. Denna del anropar funktionerna
-- i andra delen.
--
-- Avslutningsvis returnas en "dictionary" (en tabell med
-- index av typ "string") med de konjugerade formerna.
-- 
-- Upphovsman: ]
--
-- Källan för de flesta konjugeringar är boken
-- "Modern fransk grammatik" av Holmberg/Klum/Girod, 6:e upplagan
-- När en funktion utgår ifrån den boken anges källan med .
--
-- Övriga konjugeringar följer av boken
-- "Le Nouveau Bescherelle, tome 1 : L'Art de conjuguer", Hatier 1966
-- När en funktion utgår ifrån den boken anges källan med .
--
-- Används för närvarande enbart av {{fr-verb-test}} och ]

-- TODO (2022-07-30), funktioner som saknas
--  * konj_faillir 
--  * konj_ouir 

---------------------------------------------------------------
---------------------------------------------------------------

--  Några preliminära saker.

---------------------------------------------------------------
---------------------------------------------------------------

local export = {}

local p = {}

-- Börja med att skapa de variabler som används senare

-- hjälpverb, standardinställningen är "avoir"

p = "avoir"

-- perfektparticip

p = ""

-- normalt har perfektparticip formatet (donné / donnée / donnés / données)
-- finns alternativa böjelser, t.ex. (mû / mue / mus / muses)

p = true -- ändra till false i relevanta funktioner
p = ""
p = ""
p = ""

-- presensparticip

p = ""

-- indikativ, présent

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- indikativ, imparfait

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- indikativ, passé simple

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- indikativ, futur simple

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- konjunktiv, présent

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- konjunktiv, imparfait

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- konditionalis, présent

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- imperativ

p = "" -- tu
p = "" -- nous
p = "" -- vous

-- alternativa konjugationer (för vissa verb)

-- normalt har verb ej alternativformer, sätt till "true" när de gör det
-- TODO: fundera ut ifall denna kan tas bort

p = false

-- perfektparticip (alternativ)

p = ""

-- presensparticip (alternativ)

p = ""

-- indikativ, présent (alternativ)

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- indikativ, imparfait (alternativ)

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- indikativ, passé simple (alternativ)

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- indikativ, futur simple (alternativ)

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- konjunktiv, présent (alternativ)

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- konjunktiv, imparfait (alternativ)

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- konditionalis, présent (alternativ)

p = "" -- je
p = "" -- tu
p = "" -- il/elle/on
p = "" -- nous
p = "" -- vous
p = "" -- ils/elles

-- imperativ (alternativ)

p = "" -- tu
p = "" -- nous
p = "" -- vous

-- nödvändigtvis opersonligt verb? Gäller som undantag

p = false

-- hjälpverbets former
-- TODO: sköts detta bäst i moduler som anropar denna?

p = ""
p = ""
p = ""
p = ""
p = ""
p = ""

p = ""
p = ""
p = ""
p = ""
p = ""
p = ""

p = ""
p = ""
p = ""
p = ""
p = ""
p = ""

p = ""
p = ""
p = ""
p = ""
p = ""
p = ""

p = ""
p = ""
p = ""
p = ""
p = ""
p = ""

p = ""
p = ""
p = ""
p = ""
p = ""
p = ""

p = ""
p = ""
p = ""
p = ""
p = ""
p = ""

-- ska verbet konjugeras reflexivt?
-- TODO: kan denna tas bort?
p = false

-- är ordet ett defekt verb? normalt nej, gäller som undantag
p = false

-- eventuella fotnoter
p = ""

-- numret (enligt källorna) för den konjugeringsparadigm som tillämpades
p = ""
p = ""

-- felkontroll
-- TODO: tas bort när avlusningen är helt klar
p = true
p = ""

-- Några specialfall för reflexiva verb:
-- Vissa artiklar har den reflexiva formen som titel.
-- Lagra artikelnamnet i "artikelnamn" och returnera
-- verbets grundform, som är vad resten av modulen
-- utgår ifrån
function remove_reflexive_form( artikelnamn )
  p = artikelnamn

  if(string.match(artikelnamn,"^se ")) then
    p = string.gsub(artikelnamn,"^se ","")
    p = true
  elseif (string.match(artikelnamn,"^s'")) then
    p = string.gsub(artikelnamn,"^s'","")
    p = true
  elseif (string.match(artikelnamn,"^s’")) then
    p = string.gsub(artikelnamn,"^s’","")
    p = true
  else
    p = artikelnamn
  end

  return p

end 

---------------------------------------------------------------
---------------------------------------------------------------

-- 

---------------------------------------------------------------
---------------------------------------------------------------

-- Först, funktioner för konjugationerna hos HKG (i samma ordning som där)

-- Regelbundna verb som slutar på "-er" 
function konj_er(artikelnamn)
    local rot = string.gsub(artikelnamn,"er$","")

    p = rot.."é"

    p = rot.."ant"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."ons"
    p = rot.."ez"
    p = rot.."ent"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."ait"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."aient"

    p = rot.."ai"
    p = rot.."as"
    p = rot.."a"
    p = rot.."âmes"
    p = rot.."âtes"
    p = rot.."èrent"

    p = rot.."erai"
    p = rot.."eras"
    p = rot.."era"
    p = rot.."erons"
    p = rot.."erez"
    p = rot.."eront"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."ent"

    p = rot.."asse"
    p = rot.."asses"
    p = rot.."ât"
    p = rot.."assions"
    p = rot.."assiez"
    p = rot.."assent"

    p = rot.."erais"
    p = rot.."erais"
    p = rot.."erait"
    p = rot.."erions"
    p = rot.."eriez"
    p = rot.."eraient"

    p = rot.."e"
    p = rot.."ons"
    p = rot.."ez"

    p = "143"
    p = "6"

    -- verb som slutar på "-éer" böjs enligt ovan, men har ett annat
    -- nummer i Bescherelle. Likaså verb som slutar på "-ier"
    if(string.match(artikelnamn,"éer$")) then
      p = "13"
    elseif(string.match(artikelnamn,"ier$")) then
      p = "15"
    end

    p = false
end

-- Regelbundna verb som slutar på "-ir" 
function konj_ir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ir$","")

    p = rot.."i"

    p = rot.."issant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."issons"
    p = rot.."issez"
    p = rot.."issent"

    p = rot.."issais"
    p = rot.."issais"
    p = rot.."issait"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."irai"
    p = rot.."iras"
    p = rot.."ira"
    p = rot.."irons"
    p = rot.."irez"
    p = rot.."iront"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."isse"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."irais"
    p = rot.."irais"
    p = rot.."irait"
    p = rot.."irions"
    p = rot.."iriez"
    p = rot.."iraient"

    p = rot.."is"
    p = rot.."issons"
    p = rot.."issez"

    p = "144"
    p = "19"
    p = false
end

-- Regelbundna verb som slutar på "-re" 
function konj_re(artikelnamn)
    local rot = string.gsub(artikelnamn,"re$","")

    p = rot.."u"

    p = rot.."ant"

    p = rot.."s"
    p = rot.."s"
    p = rot..""
    p = rot.."ons"
    p = rot.."ez"
    p = rot.."ent"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."ait"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."aient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."rai"
    p = rot.."ras"
    p = rot.."ra"
    p = rot.."rons"
    p = rot.."rez"
    p = rot.."ront"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."ent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."rais"
    p = rot.."rais"
    p = rot.."rait"
    p = rot.."rions"
    p = rot.."riez"
    p = rot.."raient"

    p = rot.."s"
    p = rot.."ons"
    p = rot.."ez"

    -- specialfall! hanterar "rompre", "interrompre", och liknande
    -- gäller när roten varken slutar på 'd' eller 't':
    if (not string.match(rot,"d$")) and (not string.match(rot,"t$")) then
        p = rot.."t"
    end

    p = "145"
    p = "53"
    p = false
end

-- Specialfallet verb som slutar på "-ger" 
-- exempelvis "manger", "arranger", "bouger", "nager",
-- "partager"
function konj_ger(artikelnamn)
    local rot = string.gsub(artikelnamn,"er$","")
    -- för "manger" blir roten "mang"

    p = rot.."é"

    p = rot.."eant"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."eons"
    p = rot.."ez"
    p = rot.."ent"

    p = rot.."eais"
    p = rot.."eais"
    p = rot.."eait"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."eaient"

    p = rot.."eai"
    p = rot.."eas"
    p = rot.."ea"
    p = rot.."eâmes"
    p = rot.."eâtes"
    p = rot.."èrent"

    p = rot.."erai"
    p = rot.."eras"
    p = rot.."era"
    p = rot.."erons"
    p = rot.."erez"
    p = rot.."eront"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."ent"

    p = rot.."easse"
    p = rot.."easses"
    p = rot.."eât"
    p = rot.."eassions"
    p = rot.."eassiez"
    p = rot.."eassent"

    p = rot.."erais"
    p = rot.."erais"
    p = rot.."erait"
    p = rot.."erions"
    p = rot.."eriez"
    p = rot.."eraient"

    p = rot.."e"
    p = rot.."eons"
    p = rot.."ez"

    p = "8"
    p = false
end

-- Specialfallet verb som slutar på "-cer" 
-- exempelvis "remplacer", "avancer", "commencer",
-- "forcer", "renoncer"
function konj_cer(artikelnamn)
    local rot = string.gsub(artikelnamn,"cer$","")
    -- för "remplacer" blir roten "rempla"

    p = rot.."cé"

    p = rot.."çant"

    p = rot.."ce"
    p = rot.."ces"
    p = rot.."ce"
    p = rot.."çons"
    p = rot.."cez"
    p = rot.."cent"

    p = rot.."çais"
    p = rot.."çais"
    p = rot.."çait"
    p = rot.."cions"
    p = rot.."ciez"
    p = rot.."çaient"

    p = rot.."çai"
    p = rot.."ças"
    p = rot.."ça"
    p = rot.."çâmes"
    p = rot.."çâtes"
    p = rot.."cèrent"

    p = rot.."cerai"
    p = rot.."ceras"
    p = rot.."cera"
    p = rot.."cerons"
    p = rot.."cerez"
    p = rot.."ceront"

    p = rot.."ce"
    p = rot.."ces"
    p = rot.."ce"
    p = rot.."cions"
    p = rot.."ciez"
    p = rot.."cent"

    p = rot.."çasse"
    p = rot.."çasses"
    p = rot.."çât"
    p = rot.."çassions"
    p = rot.."çassiez"
    p = rot.."çassent"

    p = rot.."cerais"
    p = rot.."cerais"
    p = rot.."cerait"
    p = rot.."cerions"
    p = rot.."ceriez"
    p = rot.."ceraient"

    p = rot.."ce"
    p = rot.."çons"
    p = rot.."cez"

    p = "7"
    p = false
end

-- Specialfallet verb som slutar på "-oyer" / "-uyer" 
-- exempelvis "nettoyer", "essuyer", "employer",
-- "tutoyer", "appuyer", "s'ennuyer"
function konj_oyer(artikelnamn)
    local rot = string.gsub(artikelnamn,"yer$","")
    -- för "nettoyer" blir roten "netto"

    p = rot.."yé"

    p = rot.."yant"

    p = rot.."ie"
    p = rot.."ies"
    p = rot.."ie"
    p = rot.."yons"
    p = rot.."yez"
    p = rot.."ient"

    p = rot.."yais"
    p = rot.."yais"
    p = rot.."yait"
    p = rot.."yions"
    p = rot.."yiez"
    p = rot.."yaient"

    p = rot.."yai"
    p = rot.."yas"
    p = rot.."ya"
    p = rot.."yâmes"
    p = rot.."yâtes"
    p = rot.."yèrent"

    p = rot.."ierai"
    p = rot.."ieras"
    p = rot.."iera"
    p = rot.."ierons"
    p = rot.."ierez"
    p = rot.."ieront"

    p = rot.."ie"
    p = rot.."ies"
    p = rot.."ie"
    p = rot.."yions"
    p = rot.."yiez"
    p = rot.."ient"

    p = rot.."yasse"
    p = rot.."yasses"
    p = rot.."yât"
    p = rot.."yassions"
    p = rot.."yassiez"
    p = rot.."yassent"

    p = rot.."ierais"
    p = rot.."ierais"
    p = rot.."ierait"
    p = rot.."ierions"
    p = rot.."ieriez"
    p = rot.."ieraient"

    p = rot.."ie"
    p = rot.."yons"
    p = rot.."yez"

    p = "17"
    p = false
end

-- Specialfallet verb som slutar på "-ayer" 
-- exempelvis "essayer", "effrayer", "payer"
function konj_ayer(artikelnamn)
    local rot = string.gsub(artikelnamn,"yer$","")
    -- för "essayer" blir roten "essa"

    -- först formen med bara "y"
    
    p = rot.."yé"

    p = rot.."yant"

    p = rot.."ye"
    p = rot.."yes"
    p = rot.."ye"
    p = rot.."yons"
    p = rot.."yez"
    p = rot.."yent"

    p = rot.."yais"
    p = rot.."yais"
    p = rot.."yait"
    p = rot.."yions"
    p = rot.."yiez"
    p = rot.."yaient"

    p = rot.."yai"
    p = rot.."yas"
    p = rot.."ya"
    p = rot.."yâmes"
    p = rot.."yâtes"
    p = rot.."yèrent"

    p = rot.."yerai"
    p = rot.."yeras"
    p = rot.."yera"
    p = rot.."yerons"
    p = rot.."yerez"
    p = rot.."yeront"

    p = rot.."ye"
    p = rot.."yes"
    p = rot.."ye"
    p = rot.."yions"
    p = rot.."yiez"
    p = rot.."yent"

    p = rot.."yasse"
    p = rot.."yasses"
    p = rot.."yât"
    p = rot.."yassions"
    p = rot.."yassiez"
    p = rot.."yassent"

    p = rot.."yerais"
    p = rot.."yerais"
    p = rot.."yerait"
    p = rot.."yerions"
    p = rot.."yeriez"
    p = rot.."yeraient"

    p = rot.."ye"
    p = rot.."yons"
    p = rot.."yez"
    
    -- sen alternativformen där "y" buys ut mot "i" före "e"

    p = rot.."ie"
    p = rot.."ies"
    p = rot.."ie"
    p = rot.."ient"

    p = rot.."ierai"
    p = rot.."ieras"
    p = rot.."iera"
    p = rot.."ierons"
    p = rot.."ierez"
    p = rot.."ieront"

    p = rot.."ie"
    p = rot.."ies"
    p = rot.."ie"
    p = rot.."ient"

    p = rot.."ierais"
    p = rot.."ierais"
    p = rot.."ierait"
    p = rot.."ierions"
    p = rot.."ieriez"
    p = rot.."ieraient"

    p = rot.."ie"

    p = "Övergången från 'y' till 'i' är valfri. Båda förekommer."

    p = "146"
    p = "16"
    p = false
end

-- Det oregelbundna verbet "acquérir" 
-- även t.ex. "conquérir"
function konj_acquerir(artikelnamn)
    local rot = string.gsub(artikelnamn,"érir$","")

    p = rot.."is"

    p = rot.."érant"

    p = rot.."iers"
    p = rot.."iers"
    p = rot.."iert"
    p = rot.."érons"
    p = rot.."érez"
    p = rot.."ièrent"

    p = rot.."érais"
    p = rot.."érais"
    p = rot.."érait"
    p = rot.."érions"
    p = rot.."ériez"
    p = rot.."éraient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."errai"
    p = rot.."erras"
    p = rot.."erra"
    p = rot.."errons"
    p = rot.."errez"
    p = rot.."erront"

    p = rot.."ière"
    p = rot.."ières"
    p = rot.."ière"
    p = rot.."érions"
    p = rot.."ériez"
    p = rot.."ièrent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."errais"
    p = rot.."errais"
    p = rot.."errait"
    p = rot.."errions"
    p = rot.."erriez"
    p = rot.."erraient"

    p = rot.."iers"
    p = rot.."érons"
    p = rot.."érez"

    p = "1"
    p = "24"
    p = false
end

-- Det oregelbundna verbet "aller" 
function konj_aller(artikelnamn)
    local rot = string.gsub(artikelnamn,"er$","")
    -- för "aller" blir roten "all"

    p = "être"

    p = rot.."é"

    p = rot.."ant"

    p = "vais"
    p = "vas"
    p = "va"
    p = rot.."ons"
    p = rot.."ez"
    p = "vont"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."ait"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."aient"

    p = rot.."ai"
    p = rot.."as"
    p = rot.."a"
    p = rot.."âmes"
    p = rot.."âtes"
    p = rot.."èrent"

    p = "irai"
    p = "iras"
    p = "ira"
    p = "irons"
    p = "irez"
    p = "iront"

    p = "aille"
    p = "ailles"
    p = "aille"
    p = rot.."ions"
    p = rot.."iez"
    p = "aillent"

    p = rot.."asse"
    p = rot.."asses"
    p = rot.."ât"
    p = rot.."assions"
    p = rot.."assiez"
    p = rot.."assent"

    p = "irais"
    p = "irais"
    p = "irait"
    p = "irions"
    p = "iriez"
    p = "iraient"

    p = "va"
    p = rot.."ons"
    p = rot.."ez"

    p = "2"
    p = "22"
    p = false
end

-- Det oregelbundna verbet "s'asseoir" 
-- även för t.ex. "rasseoir"
function konj_asseoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"eoir$","")

    p = "être"

    -- först, den ena formen

    p = rot.."is"

    p = rot.."eyant"

    p = rot.."ieds"
    p = rot.."ieds"
    p = rot.."ied"
    p = rot.."eyons"
    p = rot.."eyez"
    p = rot.."eyent"

    p = rot.."eyais"
    p = rot.."eyais"
    p = rot.."eyait"
    p = rot.."eyions"
    p = rot.."eyiez"
    p = rot.."eyaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."iérai"
    p = rot.."iéras"
    p = rot.."iéra"
    p = rot.."iérons"
    p = rot.."iérez"
    p = rot.."iéront"

    p = rot.."eye"
    p = rot.."eyes"
    p = rot.."eye"
    p = rot.."eyions"
    p = rot.."eyiez"
    p = rot.."eyent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."iérais"
    p = rot.."iérais"
    p = rot.."iérait"
    p = rot.."iérions"
    p = rot.."iériez"
    p = rot.."iéraient"

    p = rot.."ieds"
    p = rot.."eyons"
    p = rot.."eyez"

    -- sen, den alternativa formen

    p = true

    p = rot.."oyant"

    p = rot.."ois"
    p = rot.."ois"
    p = rot.."oit"
    p = rot.."oyons"
    p = rot.."oyez"
    p = rot.."oient"

    p = rot.."oyais"
    p = rot.."oyais"
    p = rot.."oyait"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oyaient"

    p = rot.."oirai"
    p = rot.."oiras"
    p = rot.."oira"
    p = rot.."oirons"
    p = rot.."oirez"
    p = rot.."oiront"

    p = rot.."oie"
    p = rot.."oies"
    p = rot.."oie"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oient"

    p = rot.."ois"
    p = rot.."oyons"
    p = rot.."oyez"

    p = "Presensformerna växlar mellan 'e' och 'o' från person till person."

    p = "3"
    p = "49"
    p = false
end

-- Det oregelbundna verbet "avoir" 
function konj_avoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"avoir$","")
    -- roten är alltså tom i normalfallet och "r" för "ravoir"

    p = rot.."eu"

    p = rot.."ayant"

    p = rot.."ai"
    p = rot.."as"
    p = rot.."a"
    p = rot.."avons"
    p = rot.."avez"
    p = rot.."ont"

    p = rot.."avais"
    p = rot.."avais"
    p = rot.."avait"
    p = rot.."avions"
    p = rot.."aviez"
    p = rot.."avaient"

    p = rot.."eus"
    p = rot.."eus"
    p = rot.."eut"
    p = rot.."eûmes"
    p = rot.."eûtes"
    p = rot.."eurent"

    p = rot.."aurai"
    p = rot.."auras"
    p = rot.."aura"
    p = rot.."aurons"
    p = rot.."aurez"
    p = rot.."auront"

    p = rot.."aie"
    p = rot.."aies"
    p = rot.."ait"
    p = rot.."ayons"
    p = rot.."ayez"
    p = rot.."aient"

    p = rot.."eusse"
    p = rot.."eusses"
    p = rot.."eût"
    p = rot.."eussions"
    p = rot.."eussiez"
    p = rot.."eussent"

    p = rot.."aurais"
    p = rot.."aurais"
    p = rot.."aurait"
    p = rot.."aurions"
    p = rot.."auriez"
    p = rot.."auraient"

    p = rot.."aie"
    p = rot.."ayons"
    p = rot.."ayez"

    p = "4"
    p = "1"
    p = false
end

-- Det oregelbundna verbet "battre" 
function konj_battre(artikelnamn)
    local rot = string.gsub(artikelnamn,"tre$","")

    p = rot.."tu"

    p = rot.."tant"

    p = rot.."s"
    p = rot.."s"
    p = rot..""
    p = rot.."tons"
    p = rot.."tez"
    p = rot.."tent"

    p = rot.."tais"
    p = rot.."tais"
    p = rot.."tait"
    p = rot.."tions"
    p = rot.."tiez"
    p = rot.."taient"

    p = rot.."ttis"
    p = rot.."ttis"
    p = rot.."ttit"
    p = rot.."ttîmes"
    p = rot.."ttîtes"
    p = rot.."ttirent"

    p = rot.."trai"
    p = rot.."tras"
    p = rot.."tra"
    p = rot.."trons"
    p = rot.."trez"
    p = rot.."tront"

    p = rot.."te"
    p = rot.."tes"
    p = rot.."te"
    p = rot.."tions"
    p = rot.."tiez"
    p = rot.."tent"

    p = rot.."tisse"
    p = rot.."tisses"
    p = rot.."tît"
    p = rot.."tissions"
    p = rot.."tissiez"
    p = rot.."tissent"

    p = rot.."trais"
    p = rot.."trais"
    p = rot.."trait"
    p = rot.."trions"
    p = rot.."triez"
    p = rot.."traient"

    p = rot.."s"
    p = rot.."tons"
    p = rot.."tez"

    p = "5"
    p = "55"
    p = false
end

-- Det oregelbundna verbet "boire" 
function konj_boire(artikelnamn)
    local rot = string.gsub(artikelnamn,"oire$","")

    p = rot.."u"

    p = rot.."uvant"

    p = rot.."ois"
    p = rot.."ois"
    p = rot.."oit"
    p = rot.."uvons"
    p = rot.."uvez"
    p = rot.."oivent"

    p = rot.."uvais"
    p = rot.."uvais"
    p = rot.."uvait"
    p = rot.."uvions"
    p = rot.."uviez"
    p = rot.."uvaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."oirai"
    p = rot.."oiras"
    p = rot.."oira"
    p = rot.."oirons"
    p = rot.."oirez"
    p = rot.."oiront"

    p = rot.."oive"
    p = rot.."oives"
    p = rot.."oive"
    p = rot.."uvions"
    p = rot.."uviez"
    p = rot.."oivent"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."oirais"
    p = rot.."oirais"
    p = rot.."oirait"
    p = rot.."oirions"
    p = rot.."oiriez"
    p = rot.."oiraient"

    p = rot.."ois"
    p = rot.."uvons"
    p = rot.."uvez"

    p = "6"
    p = "69"
    p = true
end

-- Det oregelbundna verbet "bouillir" 
function konj_bouillir(artikelnamn)
    local rot = string.gsub(artikelnamn,"illir$","")

    p = rot.."illi"

    p = rot.."illant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."illons"
    p = rot.."illez"
    p = rot.."illent"

    p = rot.."illais"
    p = rot.."illais"
    p = rot.."illait"
    p = rot.."illions"
    p = rot.."illiez"
    p = rot.."illaient"

    p = rot.."illis"
    p = rot.."illis"
    p = rot.."illit"
    p = rot.."illîmes"
    p = rot.."illîtes"
    p = rot.."illirent"

    p = rot.."illirai"
    p = rot.."illiras"
    p = rot.."illira"
    p = rot.."illirons"
    p = rot.."illirez"
    p = rot.."illiront"

    p = rot.."ille"
    p = rot.."illes"
    p = rot.."ille"
    p = rot.."illions"
    p = rot.."illiez"
    p = rot.."illent"

    p = rot.."illisse"
    p = rot.."illisses"
    p = rot.."illît"
    p = rot.."illissions"
    p = rot.."illissiez"
    p = rot.."illissent"

    p = rot.."illirais"
    p = rot.."illirais"
    p = rot.."illirait"
    p = rot.."illirions"
    p = rot.."illiriez"
    p = rot.."illiraient"

    p = rot.."s"
    p = rot.."illons"
    p = rot.."illez"

    p = "7"
    p = "31"
    p = true
end

-- Det oregelbundna verbet "conclure" 
function konj_conclure(artikelnamn)
    local rot = string.gsub(artikelnamn,"ure$","")

    p = rot.."u"

    p = rot.."uant"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."uons"
    p = rot.."uez"
    p = rot.."uent"

    p = rot.."uais"
    p = rot.."uais"
    p = rot.."uait"
    p = rot.."uions"
    p = rot.."uiez"
    p = rot.."uaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."urai"
    p = rot.."uras"
    p = rot.."ura"
    p = rot.."urons"
    p = rot.."urez"
    p = rot.."uront"

    p = rot.."ue"
    p = rot.."ues"
    p = rot.."ue"
    p = rot.."uions"
    p = rot.."uiez"
    p = rot.."uent"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."urais"
    p = rot.."urais"
    p = rot.."urait"
    p = rot.."urions"
    p = rot.."uriez"
    p = rot.."uraient"

    p = rot.."us"
    p = rot.."uons"
    p = rot.."uez"

    p = "8"
    p = "71"
    p = true
end

-- Det oregelbundna verbet "conduire" 
function konj_conduire(artikelnamn)
    local rot = string.gsub(artikelnamn,"ire$","")

    -- först, den ena formen

    p = rot.."it"

    p = rot.."isant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."isons"
    p = rot.."isez"
    p = rot.."isent"

    p = rot.."isais"
    p = rot.."isais"
    p = rot.."isait"
    p = rot.."isions"
    p = rot.."isiez"
    p = rot.."isaient"

    p = rot.."isis"
    p = rot.."isis"
    p = rot.."isit"
    p = rot.."isîmes"
    p = rot.."isîtes"
    p = rot.."isirent"

    p = rot.."irai"
    p = rot.."iras"
    p = rot.."ira"
    p = rot.."irons"
    p = rot.."irez"
    p = rot.."iront"

    p = rot.."ise"
    p = rot.."ises"
    p = rot.."ise"
    p = rot.."isions"
    p = rot.."isiez"
    p = rot.."isent"

    p = rot.."isisse"
    p = rot.."isisses"
    p = rot.."isît"
    p = rot.."isissions"
    p = rot.."isissiez"
    p = rot.."isissent"

    p = rot.."irais"
    p = rot.."irais"
    p = rot.."irait"
    p = rot.."irions"
    p = rot.."iriez"
    p = rot.."iraient"

    p = rot.."s"
    p = rot.."isons"
    p = rot.."isez"

    -- sen, den alternativa formen

    p = true

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = "9"
    p = "82"
    p = true
end

-- Det oregelbundna verbet "connaître" 
function konj_connaitre(artikelnamn)
    local rot = string.gsub(artikelnamn,"aître$","")

    p = rot.."u"

    p = rot.."aissant"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."aît"
    p = rot.."aissons"
    p = rot.."aissez"
    p = rot.."aissent"

    p = rot.."aissais"
    p = rot.."aissais"
    p = rot.."aissait"
    p = rot.."aissions"
    p = rot.."aissiez"
    p = rot.."aissaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."aîtrai"
    p = rot.."aîtras"
    p = rot.."aîtra"
    p = rot.."aîtrons"
    p = rot.."aîtrez"
    p = rot.."aîtront"

    p = rot.."aisse"
    p = rot.."aisses"
    p = rot.."aisse"
    p = rot.."aissions"
    p = rot.."aissiez"
    p = rot.."aissent"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."aîtrais"
    p = rot.."aîtrais"
    p = rot.."aîtrait"
    p = rot.."aîtrions"
    p = rot.."aîtriez"
    p = rot.."aîtraient"

    p = rot.."ais"
    p = rot.."aissons"
    p = rot.."aissez"

    p = "10"
    p = "64"
    p = true
end

-- Det oregelbundna verbet "coudre" 
-- även t.ex. "découdre" och "recoudre"
function konj_coudre(artikelnamn)
    local rot = string.gsub(artikelnamn,"dre$","")

    p = rot.."su"

    p = rot.."sant"

    p = rot.."ds"
    p = rot.."ds"
    p = rot.."d"
    p = rot.."sons"
    p = rot.."sez"
    p = rot.."sent"

    p = rot.."sais"
    p = rot.."sais"
    p = rot.."sait"
    p = rot.."sions"
    p = rot.."siez"
    p = rot.."saient"

    p = rot.."sis"
    p = rot.."sis"
    p = rot.."sit"
    p = rot.."sîmes"
    p = rot.."sîtes"
    p = rot.."sirent"

    p = rot.."drai"
    p = rot.."dras"
    p = rot.."dra"
    p = rot.."drons"
    p = rot.."drez"
    p = rot.."dront"

    p = rot.."se"
    p = rot.."ses"
    p = rot.."se"
    p = rot.."sions"
    p = rot.."siez"
    p = rot.."sent"

    p = rot.."sisse"
    p = rot.."sisses"
    p = rot.."sît"
    p = rot.."sissions"
    p = rot.."sissiez"
    p = rot.."sissent"

    p = rot.."drais"
    p = rot.."drais"
    p = rot.."drait"
    p = rot.."drions"
    p = rot.."driez"
    p = rot.."draient"

    p = rot.."ds"
    p = rot.."sons"
    p = rot.."sez"

    p = "11"
    p = "73"
    p = true
end

-- Det oregelbundna verbet "courir" 
-- även t.ex. "accourir", "concourir", "parcourir",
-- "secourir", med mera
function konj_courir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ir$","")

    --- specialfall! "accourir" har hjälpverbet "être"
    if(string.match(artikelnamn,"^accourir$")) then
        p = "être"
    end

    p = rot.."u"

    p = rot.."ant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."ons"
    p = rot.."ez"
    p = rot.."ent"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."ait"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."aient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."rai"
    p = rot.."ras"
    p = rot.."ra"
    p = rot.."rons"
    p = rot.."rez"
    p = rot.."ront"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."ent"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."rais"
    p = rot.."rais"
    p = rot.."rait"
    p = rot.."rions"
    p = rot.."riez"
    p = rot.."raient"

    p = rot.."s"
    p = rot.."ons"
    p = rot.."ez"

    p = "12"
    p = "33"
    p = true
end

-- Det oregelbundna verbet "craindre" 
-- även t.ex. "contraindre" och "plaindre"
function konj_craindre(artikelnamn)
    local rot = string.gsub(artikelnamn,"ndre$","")

    p = rot.."nt"

    p = rot.."gnant"

    p = rot.."ns"
    p = rot.."ns"
    p = rot.."nt"
    p = rot.."gnons"
    p = rot.."gnez"
    p = rot.."gnent"

    p = rot.."gnais"
    p = rot.."gnais"
    p = rot.."gnait"
    p = rot.."gnions"
    p = rot.."gniez"
    p = rot.."gnaient"

    p = rot.."gnis"
    p = rot.."gnis"
    p = rot.."gnit"
    p = rot.."gnîmes"
    p = rot.."gnîtes"
    p = rot.."gnirent"

    p = rot.."ndrai"
    p = rot.."ndras"
    p = rot.."ndra"
    p = rot.."ndrons"
    p = rot.."ndrez"
    p = rot.."ndront"

    p = rot.."gne"
    p = rot.."gnes"
    p = rot.."gne"
    p = rot.."gnions"
    p = rot.."gniez"
    p = rot.."gnent"

    p = rot.."gnisse"
    p = rot.."gnisses"
    p = rot.."gnît"
    p = rot.."gnissions"
    p = rot.."gnissiez"
    p = rot.."gnissent"

    p = rot.."ndrais"
    p = rot.."ndrais"
    p = rot.."ndrait"
    p = rot.."ndrions"
    p = rot.."ndriez"
    p = rot.."ndraient"

    p = rot.."ns"
    p = rot.."gnons"
    p = rot.."gnez"

    p = "13"
    p = "59"
    p = true
end

-- Det oregelbundna verbet "croire" 
function konj_croire(artikelnamn)
    local rot = string.gsub(artikelnamn,"oire$","")

    p = rot.."u"

    p = rot.."oyant"

    p = rot.."ois"
    p = rot.."ois"
    p = rot.."oit"
    p = rot.."oyons"
    p = rot.."oyez"
    p = rot.."oient"

    p = rot.."oyais"
    p = rot.."oyais"
    p = rot.."oyait"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oyaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."oirai"
    p = rot.."oiras"
    p = rot.."oira"
    p = rot.."oirons"
    p = rot.."oirez"
    p = rot.."oiront"

    p = rot.."oie"
    p = rot.."oies"
    p = rot.."oie"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oient"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."oirais"
    p = rot.."oirais"
    p = rot.."oirait"
    p = rot.."oirions"
    p = rot.."oiriez"
    p = rot.."oiraient"

    p = rot.."ois"
    p = rot.."oyons"
    p = rot.."oyez"

    p = "14"
    p = "68"
    p = true
end

-- Det oregelbundna verbet "croître" 
-- även t.ex. "s'accroître" och "décroître"
function konj_croitre(artikelnamn)
    local rot = string.gsub(artikelnamn,"oître$","")

    p = rot.."û"

    p = rot.."oissant"

    p = rot.."oîs"
    p = rot.."oîs"
    p = rot.."oît"
    p = rot.."oissons"
    p = rot.."oissez"
    p = rot.."oissent"

    p = rot.."oissais"
    p = rot.."oissais"
    p = rot.."oissait"
    p = rot.."oissions"
    p = rot.."oissiez"
    p = rot.."oissaient"

    p = rot.."ûs"
    p = rot.."ûs"
    p = rot.."ût"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."ûrent"

    p = rot.."oîtrai"
    p = rot.."oîtras"
    p = rot.."oîtra"
    p = rot.."oîtrons"
    p = rot.."oîtrez"
    p = rot.."oîtront"

    p = rot.."oisse"
    p = rot.."oisses"
    p = rot.."oisse"
    p = rot.."oissions"
    p = rot.."oissiez"
    p = rot.."oissent"

    p = rot.."ûsse"
    p = rot.."ûsses"
    p = rot.."ût"
    p = rot.."ûssions"
    p = rot.."ûssiez"
    p = rot.."ûssent"

    p = rot.."oîtrais"
    p = rot.."oîtrais"
    p = rot.."oîtrait"
    p = rot.."oîtrions"
    p = rot.."oîtriez"
    p = rot.."oîtraient"

    p = rot.."oîs"
    p = rot.."oissons"
    p = rot.."oissez"

    p = "15"
    p = "67"
    p = true
end

-- Det oregelbundna verbet "cueillir" 
function konj_cueillir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ir$","")

    p = rot.."i"

    p = rot.."ant"

    p = rot.."e"
    p = rot.."es"
    p = rot.."et"
    p = rot.."ons"
    p = rot.."ez"
    p = rot.."ent"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."ait"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."aient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."erai"
    p = rot.."eras"
    p = rot.."era"
    p = rot.."erons"
    p = rot.."erez"
    p = rot.."eront"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."ent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."erais"
    p = rot.."erais"
    p = rot.."erait"
    p = rot.."erions"
    p = rot.."eriez"
    p = rot.."eraient"

    p = rot.."e"
    p = rot.."ons"
    p = rot.."ez"

    p = "16"
    p = "28"
    p = true
end

-- Det oregelbundna verbet "devoir" 
function konj_devoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"evoir$","")

    p = rot.."û"
    
    p = false
    p = "dus"
    p = "due"
    p = "dues"

    p = rot.."evant"

    p = rot.."ois"
    p = rot.."ois"
    p = rot.."oit"
    p = rot.."evons"
    p = rot.."evez"
    p = rot.."oivent"

    p = rot.."evais"
    p = rot.."evais"
    p = rot.."evait"
    p = rot.."evions"
    p = rot.."eviez"
    p = rot.."evaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."evrai"
    p = rot.."evras"
    p = rot.."evra"
    p = rot.."evrons"
    p = rot.."evrez"
    p = rot.."evront"

    p = rot.."oive"
    p = rot.."oives"
    p = rot.."oive"
    p = rot.."evions"
    p = rot.."eviez"
    p = rot.."oivent"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."evrais"
    p = rot.."evrais"
    p = rot.."evrait"
    p = rot.."evrions"
    p = rot.."evriez"
    p = rot.."evraient"

    p = rot.."ois"
    p = rot.."evons"
    p = rot.."evez"

    p = "17"
    p = "42"
    p = true
end

-- Det oregelbundna verbet "dire" 
-- även t.ex. "contredire", "interdire", "prédire"
function konj_dire(artikelnamn)
    local rot = string.gsub(artikelnamn,"ire$","")

    p = rot.."it"

    p = rot.."isant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."isons"
    p = rot.."isez"
    p = rot.."isent"

    p = rot.."isais"
    p = rot.."isais"
    p = rot.."isait"
    p = rot.."isions"
    p = rot.."isiez"
    p = rot.."isaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."irai"
    p = rot.."iras"
    p = rot.."ira"
    p = rot.."irons"
    p = rot.."irez"
    p = rot.."iront"

    p = rot.."ise"
    p = rot.."ises"
    p = rot.."ise"
    p = rot.."isions"
    p = rot.."isiez"
    p = rot.."isent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."irais"
    p = rot.."irais"
    p = rot.."irait"
    p = rot.."irions"
    p = rot.."iriez"
    p = rot.."iraient"

    p = rot.."is"
    p = rot.."isons"
    p = rot.."isez"

    -- specialfall! när verbet är exakt "dire",
    -- snarare än bara slutar på det, gäller:
    if (string.match(artikelnamn,"^dire$")) then
        p = rot.."ites"
        p = rot.."ites"
    end

    p = "18"
    p = "78"
    p = true
end

-- Det oregelbundna verbet "dormir" 
-- även t.ex. "endormir", "s'endormir", "se rendormir"
function konj_dormir(artikelnamn)
    local rot = string.gsub(artikelnamn,"mir$","")

    p = rot.."mi"

    p = rot.."mant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."mons"
    p = rot.."mez"
    p = rot.."ment"

    p = rot.."mais"
    p = rot.."mais"
    p = rot.."mait"
    p = rot.."mions"
    p = rot.."miez"
    p = rot.."maient"

    p = rot.."mis"
    p = rot.."mis"
    p = rot.."mit"
    p = rot.."mîmes"
    p = rot.."mîtes"
    p = rot.."mirent"

    p = rot.."mirai"
    p = rot.."miras"
    p = rot.."mira"
    p = rot.."mirons"
    p = rot.."mirez"
    p = rot.."miront"

    p = rot.."me"
    p = rot.."mes"
    p = rot.."me"
    p = rot.."mions"
    p = rot.."miez"
    p = rot.."ment"

    p = rot.."misse"
    p = rot.."misses"
    p = rot.."mît"
    p = rot.."missions"
    p = rot.."missiez"
    p = rot.."missent"

    p = rot.."mirais"
    p = rot.."mirais"
    p = rot.."mirait"
    p = rot.."mirions"
    p = rot.."miriez"
    p = rot.."miraient"

    p = rot.."s"
    p = rot.."mons"
    p = rot.."mez"

    p = "19"
    p = "32"
    p = true
end

-- Det oregelbundna verbet "écrire" 
-- även t.ex. "décrire", "inscrire", "prescrire"
function konj_ecrire(artikelnamn)
    local rot = string.gsub(artikelnamn,"re$","")

    p = rot.."t"

    p = rot.."vant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."vons"
    p = rot.."vez"
    p = rot.."vent"

    p = rot.."vais"
    p = rot.."vais"
    p = rot.."vait"
    p = rot.."vions"
    p = rot.."viez"
    p = rot.."vaient"

    p = rot.."vis"
    p = rot.."vis"
    p = rot.."vit"
    p = rot.."vîmes"
    p = rot.."vîtes"
    p = rot.."virent"

    p = rot.."rai"
    p = rot.."ras"
    p = rot.."ra"
    p = rot.."rons"
    p = rot.."rez"
    p = rot.."ront"

    p = rot.."ve"
    p = rot.."ves"
    p = rot.."ve"
    p = rot.."vions"
    p = rot.."viez"
    p = rot.."vent"

    p = rot.."visse"
    p = rot.."visses"
    p = rot.."vît"
    p = rot.."vissions"
    p = rot.."vissiez"
    p = rot.."vissent"

    p = rot.."rais"
    p = rot.."rais"
    p = rot.."rait"
    p = rot.."rions"
    p = rot.."riez"
    p = rot.."raient"

    p = rot.."s"
    p = rot.."vons"
    p = rot.."vez"

    p = "20"
    p = "80"
    p = true
end

-- Det oregelbundna verbet "envoyer" 
-- även t.ex. "renvoyer"
function konj_envoyer(artikelnamn)
    local rot = string.gsub(artikelnamn,"oyer$","")

    p = rot.."oyé"

    p = rot.."oyant"

    p = rot.."oie"
    p = rot.."oies"
    p = rot.."oie"
    p = rot.."oyons"
    p = rot.."oyez"
    p = rot.."oient"

    p = rot.."oyais"
    p = rot.."oyais"
    p = rot.."oyait"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oyaient"

    p = rot.."oyai"
    p = rot.."oyas"
    p = rot.."oya"
    p = rot.."oyâmes"
    p = rot.."oyâtes"
    p = rot.."oyèrent"

    p = rot.."errai"
    p = rot.."erras"
    p = rot.."erra"
    p = rot.."errons"
    p = rot.."errez"
    p = rot.."erront"

    p = rot.."oie"
    p = rot.."oies"
    p = rot.."oie"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oient"

    p = rot.."oyasse"
    p = rot.."oyasses"
    p = rot.."oyât"
    p = rot.."oyassions"
    p = rot.."oyassiez"
    p = rot.."oyassent"

    p = rot.."errais"
    p = rot.."errais"
    p = rot.."errait"
    p = rot.."errions"
    p = rot.."erriez"
    p = rot.."erraient"

    p = rot.."oie"
    p = rot.."oyons"
    p = rot.."oyez"

    p = "21"
    p = "18"
    p = false
end

-- Det oregelbundna verbet "être" 
function konj_etre(artikelnamn)
    local rot = string.gsub(artikelnamn,"être$","")
    -- roten är alltså tom i vanliga fall

    p = rot.."été"

    p = false
    p = rot.."été"
    p = rot.."été"
    p = rot.."été"

    p = rot.."étant"

    p = rot.."suis"
    p = rot.."es"
    p = rot.."est"
    p = rot.."sommes"
    p = rot.."êtes"
    p = rot.."sont"

    p = rot.."étais"
    p = rot.."étais"
    p = rot.."était"
    p = rot.."étions"
    p = rot.."étiez"
    p = rot.."étaient"

    p = rot.."fus"
    p = rot.."fus"
    p = rot.."fut"
    p = rot.."fûmes"
    p = rot.."fûtes"
    p = rot.."furent"

    p = rot.."serai"
    p = rot.."seras"
    p = rot.."sera"
    p = rot.."serons"
    p = rot.."serez"
    p = rot.."seront"

    p = rot.."sois"
    p = rot.."sois"
    p = rot.."soit"
    p = rot.."soyons"
    p = rot.."soyez"
    p = rot.."soient"

    p = rot.."fusse"
    p = rot.."fusses"
    p = rot.."fût"
    p = rot.."fussions"
    p = rot.."fussiez"
    p = rot.."fussent"

    p = rot.."serais"
    p = rot.."serais"
    p = rot.."serait"
    p = rot.."serions"
    p = rot.."seriez"
    p = rot.."seraient"

    p = rot.."sois"
    p = rot.."soyons"
    p = rot.."soyez"

    p = "22"
    p = "2"
    p = true
end

-- Det oregelbundna verbet "faire" 
function konj_faire(artikelnamn)
    local rot = string.gsub(artikelnamn,"aire$","")

    p = rot.."ait"

    p = rot.."aisant"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."ait"
    p = rot.."aisons"
    p = rot.."aites"
    p = rot.."ont"

    p = rot.."aisais"
    p = rot.."aisais"
    p = rot.."aisait"
    p = rot.."aisions"
    p = rot.."aisiez"
    p = rot.."aisaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."erai"
    p = rot.."eras"
    p = rot.."era"
    p = rot.."erons"
    p = rot.."erez"
    p = rot.."eront"

    p = rot.."asse"
    p = rot.."asses"
    p = rot.."asse"
    p = rot.."assions"
    p = rot.."assiez"
    p = rot.."assent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."erais"
    p = rot.."erais"
    p = rot.."erait"
    p = rot.."erions"
    p = rot.."eriez"
    p = rot.."eraient"

    p = rot.."ais"
    p = rot.."aisons"
    p = rot.."aites"

    p = "23"
    p = "62"
    p = true
end

-- Det oregelbundna verbet "falloir" 
-- samt "refalloir"
function konj_falloir(artikelnamn)
    local rot = string.gsub(artikelnamn,"lloir$","")

    p = true

    p = rot.."llu"

    p = rot.."llant"

    p = rot.."ut"

    p = rot.."llait"

    p = rot.."llut"

    p = rot.."udra"

    p = rot.."ille"

    p = rot.."llût"

    p = rot.."udrait"

    p = "24"
    p = "46"
    p = true
end

-- Det oregelbundna verbet "fuir" 
function konj_fuir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ir$","")

    -- specialfall! "s'enfuir" har hjälpverbet "être"
    if(string.match(artikelnamn,"^enfuir$")) then
        p = "être"
    end

    p = rot.."i"

    p = rot.."yant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."yons"
    p = rot.."yez"
    p = rot.."ient"

    p = rot.."yais"
    p = rot.."yais"
    p = rot.."yait"
    p = rot.."yions"
    p = rot.."yiez"
    p = rot.."yaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."irai"
    p = rot.."iras"
    p = rot.."ira"
    p = rot.."irons"
    p = rot.."irez"
    p = rot.."iront"

    p = rot.."ie"
    p = rot.."ies"
    p = rot.."ie"
    p = rot.."yions"
    p = rot.."yiez"
    p = rot.."ient"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."irais"
    p = rot.."irais"
    p = rot.."irait"
    p = rot.."irions"
    p = rot.."iriez"
    p = rot.."iraient"

    p = rot.."is"
    p = rot.."yons"
    p = rot.."yez"

    p = "25"
    p = "36"
    p = true
end

-- Det oregelbundna verbet "haïr" 
function konj_hair(artikelnamn)
    local rot = string.gsub(artikelnamn,"ïr$","")

    p = rot.."ï"

    p = rot.."ïssant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."ïssons"
    p = rot.."ïssez"
    p = rot.."ïssent"

    p = rot.."ïssais"
    p = rot.."ïssais"
    p = rot.."ïssait"
    p = rot.."ïssions"
    p = rot.."ïssiez"
    p = rot.."ïssaient"

    p = rot.."ïs"
    p = rot.."ïs"
    p = rot.."ït"
    p = rot.."ïmes"
    p = rot.."ïtes"
    p = rot.."ïrent"

    p = rot.."ïrai"
    p = rot.."ïras"
    p = rot.."ïra"
    p = rot.."ïrons"
    p = rot.."ïrez"
    p = rot.."ïront"

    p = rot.."ïsse"
    p = rot.."ïsses"
    p = rot.."ïsse"
    p = rot.."ïssions"
    p = rot.."ïssiez"
    p = rot.."ïssent"

    p = rot.."ïsse"
    p = rot.."ïsses"
    p = rot.."ït"
    p = rot.."ïssions"
    p = rot.."ïssiez"
    p = rot.."ïssent"

    p = rot.."ïrais"
    p = rot.."ïrais"
    p = rot.."ïrait"
    p = rot.."ïrions"
    p = rot.."ïriez"
    p = rot.."ïraient"

    p = rot.."is"
    p = rot.."ïssons"
    p = rot.."ïssez"

    p = "26"
    p = "20"
    p = true
end

-- Det oregelbundna verbet "joindre" 
function konj_joindre(artikelnamn)
    local rot = string.gsub(artikelnamn,"ndre$","")

    p = rot.."nt"

    p = rot.."gnant"

    p = rot.."ns"
    p = rot.."ns"
    p = rot.."nt"
    p = rot.."gnons"
    p = rot.."gnez"
    p = rot.."gnent"

    p = rot.."gnais"
    p = rot.."gnais"
    p = rot.."gnait"
    p = rot.."gnions"
    p = rot.."gniez"
    p = rot.."gnaient"

    p = rot.."gnis"
    p = rot.."igns"
    p = rot.."gnit"
    p = rot.."gnîmes"
    p = rot.."gnîtes"
    p = rot.."gnirent"

    p = rot.."ndrai"
    p = rot.."ndras"
    p = rot.."ndra"
    p = rot.."ndrons"
    p = rot.."ndrez"
    p = rot.."ndront"

    p = rot.."gne"
    p = rot.."gnes"
    p = rot.."gne"
    p = rot.."gnions"
    p = rot.."gniez"
    p = rot.."gnent"

    p = rot.."gnisse"
    p = rot.."gnisses"
    p = rot.."gnît"
    p = rot.."gnissions"
    p = rot.."gnissiez"
    p = rot.."gnissent"

    p = rot.."ndrais"
    p = rot.."ndrais"
    p = rot.."ndrait"
    p = rot.."ndrions"
    p = rot.."ndriez"
    p = rot.."ndraient"

    p = rot.."ns"
    p = rot.."gnons"
    p = rot.."gnez"
    
    p = "27"
    p = "58"
    p = true
end

-- Det oregelbundna verbet "lire" 
-- även t.ex. "élire"
function konj_lire(artikelnamn)
    local rot = string.gsub(artikelnamn,"ire$","")

    p = rot.."u"

    p = rot.."isant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."isons"
    p = rot.."isez"
    p = rot.."isent"

    p = rot.."isais"
    p = rot.."isais"
    p = rot.."isait"
    p = rot.."isions"
    p = rot.."isiez"
    p = rot.."isaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."irai"
    p = rot.."iras"
    p = rot.."ira"
    p = rot.."irons"
    p = rot.."irez"
    p = rot.."iront"

    p = rot.."ise"
    p = rot.."ises"
    p = rot.."ise"
    p = rot.."isions"
    p = rot.."isiez"
    p = rot.."isent"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."irais"
    p = rot.."irais"
    p = rot.."irait"
    p = rot.."irions"
    p = rot.."iriez"
    p = rot.."iraient"

    p = rot.."is"
    p = rot.."isons"
    p = rot.."isez"

    p = "28"
    p = "77"
    p = true
end

-- Det oregelbundna verbet "mentir" 
-- även t.ex. "démentir"
function konj_mentir(artikelnamn)
    local rot = string.gsub(artikelnamn,"tir$","")

    p = rot.."ti"

    p = rot.."tant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."tons"
    p = rot.."tez"
    p = rot.."tent"

    p = rot.."tais"
    p = rot.."tais"
    p = rot.."tait"
    p = rot.."tions"
    p = rot.."tiez"
    p = rot.."taient"

    p = rot.."tis"
    p = rot.."tis"
    p = rot.."tit"
    p = rot.."tîmes"
    p = rot.."tîtes"
    p = rot.."tirent"

    p = rot.."tirai"
    p = rot.."tiras"
    p = rot.."tira"
    p = rot.."tirons"
    p = rot.."tirez"
    p = rot.."tiront"

    p = rot.."te"
    p = rot.."tes"
    p = rot.."te"
    p = rot.."tions"
    p = rot.."tiez"
    p = rot.."tent"

    p = rot.."tisse"
    p = rot.."tisses"
    p = rot.."tît"
    p = rot.."tissions"
    p = rot.."tissiez"
    p = rot.."tissent"

    p = rot.."tirais"
    p = rot.."tirais"
    p = rot.."tirait"
    p = rot.."tirions"
    p = rot.."tiriez"
    p = rot.."tiraient"

    p = rot.."s"
    p = rot.."tons"
    p = rot.."tez"
    
    p = "29"
    p = "25"
    p = true
end

-- Det oregelbundna verbet "mettre" 
-- även t.ex. "admettre", "commettre", "omettre", "permettre"
-- "promettre", "remettre"
function konj_mettre(artikelnamn)
    local rot = string.gsub(artikelnamn,"ettre$","")

    p = rot.."is"

    p = rot.."ettant"

    p = rot.."ets"
    p = rot.."ets"
    p = rot.."et"
    p = rot.."ettons"
    p = rot.."ettez"
    p = rot.."ettent"

    p = rot.."ettais"
    p = rot.."ettais"
    p = rot.."ettait"
    p = rot.."ettions"
    p = rot.."ettiez"
    p = rot.."ettaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."ettrai"
    p = rot.."ettras"
    p = rot.."ettra"
    p = rot.."ettrons"
    p = rot.."ettrez"
    p = rot.."ettront"

    p = rot.."ette"
    p = rot.."ettes"
    p = rot.."ette"
    p = rot.."ettions"
    p = rot.."ettiez"
    p = rot.."ettent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."ettrais"
    p = rot.."ettrais"
    p = rot.."ettrait"
    p = rot.."ettrions"
    p = rot.."ettriez"
    p = rot.."ettraient"

    p = rot.."ets"
    p = rot.."ettons"
    p = rot.."ettez"
    
    p = "30"
    p = "56"
    p = true
end

-- Det oregelbundna verbet "moudre" 
function konj_moudre(artikelnamn)
    local rot = string.gsub(artikelnamn,"dre$","")

    p = rot.."lu"

    p = rot.."lant"

    p = rot.."ds"
    p = rot.."ds"
    p = rot.."d"
    p = rot.."lons"
    p = rot.."lez"
    p = rot.."lent"

    p = rot.."lais"
    p = rot.."lais"
    p = rot.."lait"
    p = rot.."lions"
    p = rot.."liez"
    p = rot.."laient"

    p = rot.."lus"
    p = rot.."lus"
    p = rot.."lut"
    p = rot.."lûmes"
    p = rot.."lûtes"
    p = rot.."lurent"

    p = rot.."drai"
    p = rot.."dras"
    p = rot.."dra"
    p = rot.."drons"
    p = rot.."drez"
    p = rot.."dront"

    p = rot.."le"
    p = rot.."les"
    p = rot.."le"
    p = rot.."lions"
    p = rot.."liez"
    p = rot.."lent"

    p = rot.."lusse"
    p = rot.."lusses"
    p = rot.."lût"
    p = rot.."lussions"
    p = rot.."lussiez"
    p = rot.."lussent"

    p = rot.."drais"
    p = rot.."drais"
    p = rot.."drait"
    p = rot.."drions"
    p = rot.."driez"
    p = rot.."draient"

    p = rot.."ds"
    p = rot.."lons"
    p = rot.."lez"
    
    p = "31"
    p = "74"
    p = true
end

-- Det oregelbundna verbet "mourir" 
function konj_mourir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ourir$","")
    --- roten är i normalfallet "m"

    p = "être"

    p = rot.."ort"

    p = rot.."ourant"

    p = rot.."eurs"
    p = rot.."eurs"
    p = rot.."eurt"
    p = rot.."ourons"
    p = rot.."ourez"
    p = rot.."eurent"

    p = rot.."ourais"
    p = rot.."ourais"
    p = rot.."ourait"
    p = rot.."ourions"
    p = rot.."ouriez"
    p = rot.."ouraient"

    p = rot.."ourus"
    p = rot.."ourus"
    p = rot.."ourut"
    p = rot.."ourûmes"
    p = rot.."ourûtes"
    p = rot.."oururent"

    p = rot.."ourrai"
    p = rot.."ourras"
    p = rot.."ourra"
    p = rot.."ourrons"
    p = rot.."ourrez"
    p = rot.."ourront"

    p = rot.."eure"
    p = rot.."eures"
    p = rot.."eure"
    p = rot.."ourions"
    p = rot.."ouriez"
    p = rot.."eurent"

    p = rot.."ourusse"
    p = rot.."ourusses"
    p = rot.."ourût"
    p = rot.."ourussions"
    p = rot.."ourussiez"
    p = rot.."ourussent"

    p = rot.."ourrais"
    p = rot.."ourrais"
    p = rot.."ourrait"
    p = rot.."ourrions"
    p = rot.."ourriez"
    p = rot.."ourraient"

    p = rot.."eurs"
    p = rot.."ourons"
    p = rot.."ourez"
    
    p = "32"
    p = "34"
    p = true
end

-- Det oregelbundna verbet "se mouvoir" 
-- även t.ex. "émouvoir"
function konj_mouvoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ouvoir$","")

    -- specialfall! just "mouvoir" har speciell particip
    if (string.match(artikelnamn,"^mouvoir$")) then
      p = "mû"

      p = false
      p = "mus"
      p = "mue"
      p = "mues"
    else
      p = rot.."u"
    end
    
    p = rot.."ouvant"

    p = rot.."eus"
    p = rot.."eus"
    p = rot.."eut"
    p = rot.."ouvons"
    p = rot.."ouvez"
    p = rot.."euvent"

    p = rot.."ouvais"
    p = rot.."ouvais"
    p = rot.."ouvait"
    p = rot.."ouvions"
    p = rot.."ouviez"
    p = rot.."ouvaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."ouvrai"
    p = rot.."ouvras"
    p = rot.."ouvra"
    p = rot.."ouvrons"
    p = rot.."ouvrez"
    p = rot.."ouvront"

    p = rot.."euve"
    p = rot.."euves"
    p = rot.."euve"
    p = rot.."ouvions"
    p = rot.."ouviez"
    p = rot.."euvent"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."ouvrais"
    p = rot.."ouvrais"
    p = rot.."ouvrait"
    p = rot.."ouvrions"
    p = rot.."ouvriez"
    p = rot.."ouvraient"

    p = rot.."eus"
    p = rot.."ouvons"
    p = rot.."ouvez"
    
    p = "33"
    p = "44"
    p = true
end

-- Det oregelbundna verbet "naître" 
-- även t.ex. "renaître"
function konj_naitre(artikelnamn)
    local rot = string.gsub(artikelnamn,"aître$","")
    -- roten är normalt "n"

    p = "être"

    p = rot.."é"

    p = rot.."aissant"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."aît"
    p = rot.."aissons"
    p = rot.."aissez"
    p = rot.."aissent"

    p = rot.."aissais"
    p = rot.."aissais"
    p = rot.."aissait"
    p = rot.."aissions"
    p = rot.."aissiez"
    p = rot.."aissaient"

    p = rot.."aquis"
    p = rot.."aquis"
    p = rot.."aquit"
    p = rot.."aquîmes"
    p = rot.."aquîtes"
    p = rot.."aquirent"

    p = rot.."aîtrai"
    p = rot.."aîtras"
    p = rot.."aîtra"
    p = rot.."aîtrons"
    p = rot.."aîtrez"
    p = rot.."aîtront"

    p = rot.."aisse"
    p = rot.."aisses"
    p = rot.."aisse"
    p = rot.."aissions"
    p = rot.."aissiez"
    p = rot.."aissent"

    p = rot.."aquisse"
    p = rot.."aquisses"
    p = rot.."aquît"
    p = rot.."aquissions"
    p = rot.."aquissiez"
    p = rot.."aquissent"

    p = rot.."aîtrais"
    p = rot.."aîtrais"
    p = rot.."aîtrait"
    p = rot.."aîtrions"
    p = rot.."aîtriez"
    p = rot.."aîtraient"

    p = rot.."ais"
    p = rot.."aissons"
    p = rot.."aissez"
    
    p = "34"
    p = "65"
    p = true
end

-- Det oregelbundna verbet "ouvrir" 
-- även t.ex. "couvrir", "découvrir", "entrouvrir",
-- "offrir", "souffrir"
function konj_ouvrir(artikelnamn)
    local rot = string.gsub(artikelnamn,"rir$","")
    -- roten är normalt "ouv"

    p = rot.."ert"

    p = rot.."rant"

    p = rot.."re"
    p = rot.."res"
    p = rot.."re"
    p = rot.."rons"
    p = rot.."rez"
    p = rot.."rent"

    p = rot.."rais"
    p = rot.."rais"
    p = rot.."rait"
    p = rot.."rions"
    p = rot.."riez"
    p = rot.."raient"

    p = rot.."ris"
    p = rot.."ris"
    p = rot.."rit"
    p = rot.."rîmes"
    p = rot.."rîtes"
    p = rot.."rirent"

    p = rot.."rirai"
    p = rot.."riras"
    p = rot.."rira"
    p = rot.."rirons"
    p = rot.."rirez"
    p = rot.."riront"

    p = rot.."re"
    p = rot.."res"
    p = rot.."re"
    p = rot.."rions"
    p = rot.."riez"
    p = rot.."rent"

    p = rot.."risse"
    p = rot.."risses"
    p = rot.."rît"
    p = rot.."rissions"
    p = rot.."rissiez"
    p = rot.."rissent"

    p = rot.."rirais"
    p = rot.."rirais"
    p = rot.."rirait"
    p = rot.."ririons"
    p = rot.."ririez"
    p = rot.."riraient"

    p = rot.."re"
    p = rot.."rons"
    p = rot.."rez"
    
    p = "35"
    p = "27"
    p = true
end

-- Det oregelbundna verbet "partir" 
-- även t.ex. "repartir"
function konj_partir(artikelnamn)
    local rot = string.gsub(artikelnamn,"tir$","")

    p = "être"

    p = rot.."ti"

    p = rot.."tant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."tons"
    p = rot.."tez"
    p = rot.."tent"

    p = rot.."tais"
    p = rot.."tais"
    p = rot.."tait"
    p = rot.."tions"
    p = rot.."tiez"
    p = rot.."taient"

    p = rot.."tis"
    p = rot.."tis"
    p = rot.."tit"
    p = rot.."tîmes"
    p = rot.."tîtes"
    p = rot.."tirent"

    p = rot.."tirai"
    p = rot.."tiras"
    p = rot.."tira"
    p = rot.."tirons"
    p = rot.."tirez"
    p = rot.."tiront"

    p = rot.."te"
    p = rot.."tes"
    p = rot.."te"
    p = rot.."tions"
    p = rot.."tiez"
    p = rot.."tent"

    p = rot.."tisse"
    p = rot.."tisses"
    p = rot.."tît"
    p = rot.."tissions"
    p = rot.."tissiez"
    p = rot.."tissent"

    p = rot.."tirais"
    p = rot.."tirais"
    p = rot.."tirait"
    p = rot.."tirions"
    p = rot.."tiriez"
    p = rot.."tiraient"

    p = rot.."s"
    p = rot.."tons"
    p = rot.."tez"
    
    p = "36"
    p = "25"
    p = true
end

-- Det oregelbundna verbet "peindre" 
-- även t.ex. "atteindre", "éteindre", "s'éteindre",
-- "feindre", "teindre", "déteindre"
function konj_peindre(artikelnamn)
    local rot = string.gsub(artikelnamn,"ndre$","")
    -- roten är normalt "pei"

    p = rot.."nt"

    p = rot.."gnant"

    p = rot.."ns"
    p = rot.."ns"
    p = rot.."nt"
    p = rot.."gnons"
    p = rot.."gnez"
    p = rot.."gnent"

    p = rot.."gnais"
    p = rot.."gnais"
    p = rot.."gnait"
    p = rot.."gnions"
    p = rot.."gniez"
    p = rot.."gnaient"

    p = rot.."gnis"
    p = rot.."gnis"
    p = rot.."gnit"
    p = rot.."gnîmes"
    p = rot.."gnîtes"
    p = rot.."gnirent"

    p = rot.."ndrai"
    p = rot.."ndras"
    p = rot.."ndra"
    p = rot.."ndrons"
    p = rot.."ndrez"
    p = rot.."ndront"

    p = rot.."gne"
    p = rot.."gnes"
    p = rot.."gne"
    p = rot.."gnions"
    p = rot.."gniez"
    p = rot.."gnent"

    p = rot.."gnisse"
    p = rot.."gnisses"
    p = rot.."gnît"
    p = rot.."gnissions"
    p = rot.."gnissiez"
    p = rot.."gnissent"

    p = rot.."ndrais"
    p = rot.."ndrais"
    p = rot.."ndrait"
    p = rot.."ndrions"
    p = rot.."ndriez"
    p = rot.."ndraient"

    p = rot.."ns"
    p = rot.."gnons"
    p = rot.."gnez"
    
    p = "37"
    p = "57"
    p = true
end

-- Det oregelbundna verbet "plaire" 
-- även t.ex. "déplaire", "taire"
function konj_plaire(artikelnamn)
    local rot = string.gsub(artikelnamn,"aire$","")
    -- normalt är roten "pl"

    p = rot.."u"

    p = rot.."aisant"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."aît"
    p = rot.."aisons"
    p = rot.."aisez"
    p = rot.."aisent"

    p = rot.."aisais"
    p = rot.."aisais"
    p = rot.."aisait"
    p = rot.."aisions"
    p = rot.."aisiez"
    p = rot.."aisaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."airai"
    p = rot.."airas"
    p = rot.."aira"
    p = rot.."airons"
    p = rot.."airez"
    p = rot.."airont"

    p = rot.."aise"
    p = rot.."aises"
    p = rot.."aise"
    p = rot.."aisions"
    p = rot.."aisiez"
    p = rot.."aisent"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."airais"
    p = rot.."airais"
    p = rot.."airait"
    p = rot.."airions"
    p = rot.."airiez"
    p = rot.."airaient"

    p = rot.."ais"
    p = rot.."aisons"
    p = rot.."aisez"
    
    -- specialfall! verben "taire" (och "retaire") har
    if (string.match(artikelnamn,"taire$")) then
      p = rot.."ait"
    end
    
    p = "38"
    p = "63"
    p = true
end

-- Det oregelbundna verbet "pleuvoir" 
function konj_pleuvoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"euvoir$","")
    -- roten är normalt "pl"

    p = true

    p = rot.."u"

    p = rot.."euvant"

    p = rot.."eut"

    p = rot.."euvait"

    p = rot.."ut"

    p = rot.."euvra"

    p = rot.."euve"

    p = rot.."ût"

    p = rot.."euvrait"

    p = "39"
    p = "45"
    p = true
end

-- Det oregelbundna verbet "pouvoir" 
function konj_pouvoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ouvoir$","")
    -- roten är normalt "p"

    p = rot.."u"

    p = false
    p = ""
    p = ""
    p = ""

    p = rot.."ouvant"

    p = rot.."eux"
    p = rot.."eux"
    p = rot.."eut"
    p = rot.."ouvons"
    p = rot.."ouvez"
    p = rot.."euvent"

    p = rot.."ouvais"
    p = rot.."ouvais"
    p = rot.."ouvait"
    p = rot.."ouvions"
    p = rot.."ouviez"
    p = rot.."ouvaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."ourrai"
    p = rot.."ourras"
    p = rot.."ourra"
    p = rot.."ourrons"
    p = rot.."ourrez"
    p = rot.."ourront"

    p = rot.."uisse"
    p = rot.."uisses"
    p = rot.."uisse"
    p = rot.."uissions"
    p = rot.."uissiez"
    p = rot.."uissent"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."ourrais"
    p = rot.."ourrais"
    p = rot.."ourrait"
    p = rot.."ourrions"
    p = rot.."ourriez"
    p = rot.."ourraient"

    p = ""
    p = ""
    p = ""
    
    p = "40"
    p = "43"
    p = true
end

-- Det oregelbundna verbet "prendre" 
-- även t.ex. "apprendre", "comprendre",
-- "entreprendre", "surprendre"
function konj_prendre(artikelnamn)
    local rot = string.gsub(artikelnamn,"endre$","")
    -- roten blir alltså "pr"

    p = rot.."is"

    p = rot.."enant"

    p = rot.."ends"
    p = rot.."ends"
    p = rot.."end"
    p = rot.."enons"
    p = rot.."enez"
    p = rot.."ennent"

    p = rot.."enais"
    p = rot.."enais"
    p = rot.."enait"
    p = rot.."enions"
    p = rot.."eniez"
    p = rot.."enaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."endrai"
    p = rot.."endras"
    p = rot.."endra"
    p = rot.."endrons"
    p = rot.."endrez"
    p = rot.."endront"

    p = rot.."enne"
    p = rot.."ennes"
    p = rot.."enne"
    p = rot.."enions"
    p = rot.."eniez"
    p = rot.."ennent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."endrais"
    p = rot.."endrais"
    p = rot.."endrait"
    p = rot.."endrions"
    p = rot.."endriez"
    p = rot.."endraient"

    p = rot.."ends"
    p = rot.."enons"
    p = rot.."enez"
    
    p = "41"
    p = "54"
    p = true
end

-- Det oregelbundna verbet "recevoir" 
-- även t.ex. "apercevoir", "concevoir",
-- "décevoir", "percevoir"
function konj_recevoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"cevoir$","")
    -- för "recevoir" blir roten "re"

    p = rot.."çu"

    p = rot.."cevant"

    p = rot.."çois"
    p = rot.."çois"
    p = rot.."çoit"
    p = rot.."cevons"
    p = rot.."cevez"
    p = rot.."çoivent"

    p = rot.."cevais"
    p = rot.."cevais"
    p = rot.."cevait"
    p = rot.."cevions"
    p = rot.."ceviez"
    p = rot.."cevaient"

    p = rot.."çus"
    p = rot.."çus"
    p = rot.."çut"
    p = rot.."çûmes"
    p = rot.."çûtes"
    p = rot.."çurent"

    p = rot.."cevrai"
    p = rot.."cevras"
    p = rot.."cevra"
    p = rot.."cevrons"
    p = rot.."cevrez"
    p = rot.."cevront"

    p = rot.."çoive"
    p = rot.."çoives"
    p = rot.."çoive"
    p = rot.."cevions"
    p = rot.."ceviez"
    p = rot.."çoivent"

    p = rot.."çusse"
    p = rot.."çusses"
    p = rot.."çût"
    p = rot.."çussions"
    p = rot.."çussiez"
    p = rot.."çussent"

    p = rot.."cevrais"
    p = rot.."cevrais"
    p = rot.."cevrait"
    p = rot.."cevrions"
    p = rot.."cevriez"
    p = rot.."cevraient"

    p = rot.."çois"
    p = rot.."cevons"
    p = rot.."cevez"
    
    p = "42"
    p = "38"
    p = true
end

-- Det oregelbundna verbet "résoudre" 
-- även t.ex. "dissoudre"
function konj_resoudre(artikelnamn)
    local rot = string.gsub(artikelnamn,"udre$","")
    -- för "résoudre" blir alltså roten "réso"

    p = rot.."lu"

    p = rot.."lvant"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."lvons"
    p = rot.."lvez"
    p = rot.."lvent"

    p = rot.."lvais"
    p = rot.."lvais"
    p = rot.."lvait"
    p = rot.."lvions"
    p = rot.."lviez"
    p = rot.."lvaient"

    p = rot.."lus"
    p = rot.."lus"
    p = rot.."lut"
    p = rot.."lûmes"
    p = rot.."lûtes"
    p = rot.."lurent"

    p = rot.."udrai"
    p = rot.."udras"
    p = rot.."udra"
    p = rot.."udrons"
    p = rot.."udrez"
    p = rot.."udront"

    p = rot.."lve"
    p = rot.."lves"
    p = rot.."lve"
    p = rot.."lvions"
    p = rot.."lviez"
    p = rot.."lvent"

    p = rot.."lusse"
    p = rot.."lusses"
    p = rot.."lût"
    p = rot.."lussions"
    p = rot.."lussiez"
    p = rot.."lussent"

    p = rot.."udrais"
    p = rot.."udrais"
    p = rot.."udrait"
    p = rot.."udrions"
    p = rot.."udriez"
    p = rot.."udraient"

    p = rot.."us"
    p = rot.."lvons"
    p = rot.."lvez"
    
    p = "43"
    p = "72"
    p = true
end

-- Det oregelbundna verbet "rire" 
-- även t.ex. "sourire"
function konj_rire(artikelnamn)
    local rot = string.gsub(artikelnamn,"re$","")
    -- för "rire" blir roten alltså "ri"

    p = rot

    p = rot.."ant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."ons"
    p = rot.."ez"
    p = rot.."ent"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."ait"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."aient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."rai"
    p = rot.."ras"
    p = rot.."ra"
    p = rot.."rons"
    p = rot.."rez"
    p = rot.."ront"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."ent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."rais"
    p = rot.."rais"
    p = rot.."rait"
    p = rot.."rions"
    p = rot.."riez"
    p = rot.."raient"

    p = rot.."s"
    p = rot.."ons"
    p = rot.."ez"
    
    p = "44"
    p = "79"
    p = true
end

-- Det oregelbundna verbet "savoir" 
function konj_savoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"avoir$","")
    -- för verbet "savoir" blir roten "s"

    p = rot.."u"

    p = rot.."achant"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."ait"
    p = rot.."avons"
    p = rot.."avez"
    p = rot.."avent"

    p = rot.."avais"
    p = rot.."avais"
    p = rot.."avait"
    p = rot.."avions"
    p = rot.."aviez"
    p = rot.."avaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."aurai"
    p = rot.."auras"
    p = rot.."aura"
    p = rot.."aurons"
    p = rot.."aurez"
    p = rot.."auront"

    p = rot.."ache"
    p = rot.."aches"
    p = rot.."ache"
    p = rot.."achions"
    p = rot.."achiez"
    p = rot.."achent"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."aurais"
    p = rot.."aurais"
    p = rot.."aurait"
    p = rot.."aurions"
    p = rot.."auriez"
    p = rot.."auraient"

    p = rot.."ache"
    p = rot.."achons"
    p = rot.."achez"
    
    p = "45"
    p = "41"
    p = true
end

-- Det oregelbundna verbet "sentir" 
-- även t.ex. "repentir"
function konj_sentir(artikelnamn)
    local rot = string.gsub(artikelnamn,"tir$","")
    -- för "sentir" blir roten "sen"

    p = rot.."ti"

    p = rot.."tant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."tons"
    p = rot.."tez"
    p = rot.."tent"

    p = rot.."tais"
    p = rot.."tais"
    p = rot.."tait"
    p = rot.."tions"
    p = rot.."tiez"
    p = rot.."taient"

    p = rot.."tis"
    p = rot.."tis"
    p = rot.."tit"
    p = rot.."tîmes"
    p = rot.."tîtes"
    p = rot.."tirent"

    p = rot.."tirai"
    p = rot.."tiras"
    p = rot.."tira"
    p = rot.."tirons"
    p = rot.."tirez"
    p = rot.."tiront"

    p = rot.."te"
    p = rot.."tes"
    p = rot.."te"
    p = rot.."tions"
    p = rot.."tiez"
    p = rot.."tent"

    p = rot.."tisse"
    p = rot.."tisses"
    p = rot.."tît"
    p = rot.."tissions"
    p = rot.."tissiez"
    p = rot.."tissent"

    p = rot.."tirais"
    p = rot.."tirais"
    p = rot.."tirait"
    p = rot.."tirions"
    p = rot.."tiriez"
    p = rot.."tiraient"

    p = rot.."s"
    p = rot.."tons"
    p = rot.."tez"
    
    p = "46"
    p = "25"
    p = true
end

-- Det oregelbundna verbet "servir" 
-- även t.ex. "desservir"
function konj_servir(artikelnamn)
    local rot = string.gsub(artikelnamn,"vir$","")
    -- för "servir" blir roten "ser"

    p = rot.."vi"

    p = rot.."vant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."vons"
    p = rot.."vez"
    p = rot.."vent"

    p = rot.."vais"
    p = rot.."vais"
    p = rot.."vait"
    p = rot.."vions"
    p = rot.."viez"
    p = rot.."vaient"

    p = rot.."vis"
    p = rot.."vis"
    p = rot.."vit"
    p = rot.."vîmes"
    p = rot.."vîtes"
    p = rot.."virent"

    p = rot.."virai"
    p = rot.."viras"
    p = rot.."vira"
    p = rot.."virons"
    p = rot.."virez"
    p = rot.."viront"

    p = rot.."ve"
    p = rot.."ves"
    p = rot.."ve"
    p = rot.."vions"
    p = rot.."viez"
    p = rot.."vent"

    p = rot.."visse"
    p = rot.."visses"
    p = rot.."vît"
    p = rot.."vissions"
    p = rot.."vissiez"
    p = rot.."vissent"

    p = rot.."virais"
    p = rot.."virais"
    p = rot.."virait"
    p = rot.."virions"
    p = rot.."viriez"
    p = rot.."viraient"

    p = rot.."s"
    p = rot.."vons"
    p = rot.."vez"
    
    p = "47"
    p = "35"
    p = true
end

-- Det oregelbundna verbet "sortir" 
function konj_sortir(artikelnamn)
    local rot = string.gsub(artikelnamn,"tir$","")
    -- för "sortir" blir roten "sor"

    p = "être" -- TODO! Måste kunna göra detta valbart

    p = rot.."ti"

    p = rot.."tant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."tons"
    p = rot.."tez"
    p = rot.."tent"

    p = rot.."tais"
    p = rot.."tais"
    p = rot.."tait"
    p = rot.."tions"
    p = rot.."tiez"
    p = rot.."taient"

    p = rot.."tis"
    p = rot.."tis"
    p = rot.."tit"
    p = rot.."tîmes"
    p = rot.."tîtes"
    p = rot.."tirent"

    p = rot.."tirai"
    p = rot.."tiras"
    p = rot.."tira"
    p = rot.."tirons"
    p = rot.."tirez"
    p = rot.."tiront"

    p = rot.."te"
    p = rot.."tes"
    p = rot.."te"
    p = rot.."tions"
    p = rot.."tiez"
    p = rot.."tent"

    p = rot.."tisse"
    p = rot.."tisses"
    p = rot.."tît"
    p = rot.."tissions"
    p = rot.."tissiez"
    p = rot.."tissent"

    p = rot.."tirais"
    p = rot.."tirais"
    p = rot.."tirait"
    p = rot.."tirions"
    p = rot.."tiriez"
    p = rot.."tiraient"

    p = rot.."s"
    p = rot.."tons"
    p = rot.."tez"
    
    p = "48"
    p = "25"
    p = true
end

-- Det oregelbundna verbet "suffire" 
function konj_suffire(artikelnamn)
    local rot = string.gsub(artikelnamn,"ire$","")
    -- för "suffire" blir roten "suff"

    p = rot.."i"

    p = rot.."isant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."isons"
    p = rot.."isez"
    p = rot.."isent"

    p = rot.."isais"
    p = rot.."isais"
    p = rot.."isait"
    p = rot.."isions"
    p = rot.."isiez"
    p = rot.."isaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."irai"
    p = rot.."iras"
    p = rot.."ira"
    p = rot.."irons"
    p = rot.."irez"
    p = rot.."iront"

    p = rot.."ise"
    p = rot.."ises"
    p = rot.."ise"
    p = rot.."isions"
    p = rot.."isiez"
    p = rot.."isent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."irais"
    p = rot.."irais"
    p = rot.."irait"
    p = rot.."irions"
    p = rot.."iriez"
    p = rot.."iraient"

    p = rot.."is"
    p = rot.."isons"
    p = rot.."isez"
    
    p = "49"
    p = "81"
    p = true
end

-- Det oregelbundna verbet "suivre" 
-- även t.ex. "poursuivre"
function konj_suivre(artikelnamn)
    local rot = string.gsub(artikelnamn,"vre$","")
    -- för "suivre" blir roten "sui"

    p = rot.."vi"

    p = rot.."vant"

    p = rot.."s"
    p = rot.."s"
    p = rot.."t"
    p = rot.."vons"
    p = rot.."vez"
    p = rot.."vent"

    p = rot.."vais"
    p = rot.."vais"
    p = rot.."vait"
    p = rot.."vions"
    p = rot.."viez"
    p = rot.."vaient"

    p = rot.."vis"
    p = rot.."vis"
    p = rot.."vit"
    p = rot.."vîmes"
    p = rot.."vîtes"
    p = rot.."virent"

    p = rot.."vrai"
    p = rot.."vras"
    p = rot.."vra"
    p = rot.."vrons"
    p = rot.."vrez"
    p = rot.."vront"

    p = rot.."ve"
    p = rot.."ves"
    p = rot.."ve"
    p = rot.."vions"
    p = rot.."viez"
    p = rot.."vent"

    p = rot.."visse"
    p = rot.."visses"
    p = rot.."vît"
    p = rot.."vissions"
    p = rot.."vissiez"
    p = rot.."vissent"

    p = rot.."vrais"
    p = rot.."vrais"
    p = rot.."vrait"
    p = rot.."vrions"
    p = rot.."vriez"
    p = rot.."vraient"

    p = rot.."s"
    p = rot.."vons"
    p = rot.."vez"
    
    p = "50"
    p = "75"
    p = true
end

-- Det oregelbundna verbet "tenir" 
-- även t.ex. "s'abstenir", "appartenir",
-- "contenir", "détenir", "entretenir",
-- "maintenir", "obtenir", "retenir", "soutenir"
function konj_tenir(artikelnamn)
    local rot = string.gsub(artikelnamn,"enir$","")
    -- för "tenir" blir roten "t"

    p = rot.."enu"

    p = rot.."enant"

    p = rot.."iens"
    p = rot.."iens"
    p = rot.."ient"
    p = rot.."enons"
    p = rot.."enez"
    p = rot.."iennent"

    p = rot.."enais"
    p = rot.."enais"
    p = rot.."enait"
    p = rot.."enions"
    p = rot.."eniez"
    p = rot.."enaient"

    p = rot.."ins"
    p = rot.."ins"
    p = rot.."int"
    p = rot.."înmes"
    p = rot.."întes"
    p = rot.."inrent"

    p = rot.."iendrai"
    p = rot.."iendras"
    p = rot.."iendra"
    p = rot.."iendrons"
    p = rot.."iendrez"
    p = rot.."iendront"

    p = rot.."ienne"
    p = rot.."iennes"
    p = rot.."ienne"
    p = rot.."enions"
    p = rot.."eniez"
    p = rot.."iennent"

    p = rot.."insse"
    p = rot.."insses"
    p = rot.."înt"
    p = rot.."inssions"
    p = rot.."inssiez"
    p = rot.."inssent"

    p = rot.."iendrais"
    p = rot.."iendrais"
    p = rot.."iendrait"
    p = rot.."iendrions"
    p = rot.."iendriez"
    p = rot.."iendraient"

    p = rot.."iens"
    p = rot.."enons"
    p = rot.."enez"
    
    p = "51"
    p = "23"
    p = true
end

-- Det oregelbundna verbet "vaincre" 
-- även t.ex. "convaincre"
function konj_vaincre(artikelnamn)
    local rot = string.gsub(artikelnamn,"cre$","")
    -- för "vaincre" blir roten "vain"

    p = rot.."cu"

    p = rot.."quant"

    p = rot.."cs"
    p = rot.."cs"
    p = rot.."c"
    p = rot.."quons"
    p = rot.."quez"
    p = rot.."quent"

    p = rot.."quais"
    p = rot.."quais"
    p = rot.."quait"
    p = rot.."quions"
    p = rot.."quiez"
    p = rot.."quaient"

    p = rot.."quis"
    p = rot.."quis"
    p = rot.."quit"
    p = rot.."quîmes"
    p = rot.."quîtes"
    p = rot.."quirent"

    p = rot.."crai"
    p = rot.."cras"
    p = rot.."cra"
    p = rot.."crons"
    p = rot.."crez"
    p = rot.."cront"

    p = rot.."que"
    p = rot.."ques"
    p = rot.."que"
    p = rot.."quions"
    p = rot.."quiez"
    p = rot.."quent"

    p = rot.."quisse"
    p = rot.."quisses"
    p = rot.."quît"
    p = rot.."quissions"
    p = rot.."quissiez"
    p = rot.."quissent"

    p = rot.."crais"
    p = rot.."crais"
    p = rot.."crait"
    p = rot.."crions"
    p = rot.."criez"
    p = rot.."craient"

    p = rot.."cs"
    p = rot.."quons"
    p = rot.."quez"
    
    p = "52"
    p = "60"
    p = true
end

-- Det oregelbundna verbet "valoir" 
function konj_valoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"loir$","")
    -- för "valoir" blir roten "va"

    p = rot.."lu"

    p = rot.."lant"

    p = rot.."ux"
    p = rot.."ux"
    p = rot.."ut"
    p = rot.."lons"
    p = rot.."lez"
    p = rot.."lent"

    p = rot.."lais"
    p = rot.."lais"
    p = rot.."lait"
    p = rot.."lions"
    p = rot.."liez"
    p = rot.."laient"

    p = rot.."lus"
    p = rot.."lus"
    p = rot.."lut"
    p = rot.."lûmes"
    p = rot.."lûtes"
    p = rot.."lurent"

    p = rot.."udrai"
    p = rot.."udras"
    p = rot.."udra"
    p = rot.."udrons"
    p = rot.."udrez"
    p = rot.."udront"

    p = rot.."ille"
    p = rot.."illes"
    p = rot.."ille"
    p = rot.."lions"
    p = rot.."liez"
    p = rot.."illent"

    p = rot.."lusse"
    p = rot.."lusses"
    p = rot.."lût"
    p = rot.."lussions"
    p = rot.."lussiez"
    p = rot.."lussent"

    p = rot.."udrais"
    p = rot.."udrais"
    p = rot.."udrait"
    p = rot.."udrions"
    p = rot.."udriez"
    p = rot.."udraient"

    p = rot.."ux"
    p = rot.."lons"
    p = rot.."lez"
    
    p = "53"
    p = "47"
    p = true
end

-- Det oregelbundna verbet "venir" 
-- även t.ex. "contrevenir", "convenir",
-- "devenir", "parvenir", "prévenir", "revenir"
-- "se souvenir"
function konj_venir(artikelnamn)
    local rot = string.gsub(artikelnamn,"enir$","")
    -- ordet "venir" har roten "v"

    p = "être"

    p = rot.."enu"

    p = rot.."enant"

    p = rot.."iens"
    p = rot.."iens"
    p = rot.."ient"
    p = rot.."enons"
    p = rot.."enez"
    p = rot.."iennent"

    p = rot.."enais"
    p = rot.."enais"
    p = rot.."enait"
    p = rot.."enions"
    p = rot.."eniez"
    p = rot.."enaient"

    p = rot.."ins"
    p = rot.."ins"
    p = rot.."int"
    p = rot.."înmes"
    p = rot.."întes"
    p = rot.."inrent"

    p = rot.."iendrai"
    p = rot.."iendras"
    p = rot.."iendra"
    p = rot.."iendrons"
    p = rot.."iendrez"
    p = rot.."iendront"

    p = rot.."ienne"
    p = rot.."iennes"
    p = rot.."ienne"
    p = rot.."enions"
    p = rot.."eniez"
    p = rot.."iennent"

    p = rot.."insse"
    p = rot.."insses"
    p = rot.."înt"
    p = rot.."inssions"
    p = rot.."inssiez"
    p = rot.."inssent"

    p = rot.."iendrais"
    p = rot.."iendrais"
    p = rot.."iendrait"
    p = rot.."iendrions"
    p = rot.."iendriez"
    p = rot.."iendraient"

    p = rot.."iens"
    p = rot.."enons"
    p = rot.."enez"
    
    p = "54"
    p = "23"
    p = true
end

-- Det oregelbundna verbet "vivre" 
-- även t.ex. "survivre"
function konj_vivre(artikelnamn)
    local rot = string.gsub(artikelnamn,"ivre$","")
    -- ordet "vivre" får roten "v"

    p = rot.."écu"

    p = rot.."ivant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."ivons"
    p = rot.."ivez"
    p = rot.."ivent"

    p = rot.."ivais"
    p = rot.."ivais"
    p = rot.."ivait"
    p = rot.."ivions"
    p = rot.."iviez"
    p = rot.."ivaient"

    p = rot.."écus"
    p = rot.."écus"
    p = rot.."écut"
    p = rot.."écûmes"
    p = rot.."écûtes"
    p = rot.."écurent"

    p = rot.."ivrai"
    p = rot.."ivras"
    p = rot.."ivra"
    p = rot.."ivrons"
    p = rot.."ivrez"
    p = rot.."ivront"

    p = rot.."ive"
    p = rot.."ives"
    p = rot.."ive"
    p = rot.."ivions"
    p = rot.."iviez"
    p = rot.."ivent"

    p = rot.."écusse"
    p = rot.."écusses"
    p = rot.."écût"
    p = rot.."écussions"
    p = rot.."écussiez"
    p = rot.."écussent"

    p = rot.."ivrais"
    p = rot.."ivrais"
    p = rot.."ivrait"
    p = rot.."ivrions"
    p = rot.."ivriez"
    p = rot.."ivraient"

    p = rot.."is"
    p = rot.."ivons"
    p = rot.."ivez"
    
    p = "55"
    p = "76"
    p = true
end

-- Det oregelbundna verbet "voir" 
-- även t.ex. "entrevoir", "revoir",
-- "prévoir"
function konj_voir(artikelnamn)
    local rot = string.gsub(artikelnamn,"oir$","")
    -- ordet "voir" får roten "v"

    p = rot.."u"

    p = rot.."oyant"

    p = rot.."ois"
    p = rot.."ois"
    p = rot.."oit"
    p = rot.."oyons"
    p = rot.."oyez"
    p = rot.."oient"

    p = rot.."oyais"
    p = rot.."oyais"
    p = rot.."oyait"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oyaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."errai"
    p = rot.."erras"
    p = rot.."erra"
    p = rot.."errons"
    p = rot.."errez"
    p = rot.."erront"

    p = rot.."oie"
    p = rot.."oies"
    p = rot.."oie"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oient"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."errais"
    p = rot.."errais"
    p = rot.."errait"
    p = rot.."errions"
    p = rot.."erriez"
    p = rot.."erraient"

    p = rot.."ois"
    p = rot.."oyons"
    p = rot.."oyez"
    
    p = "56"
    p = "39"
    p = true
end

-- Det oregelbundna verbet "vouloir" 
function konj_vouloir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ouloir$","")
    -- ordet "vouloir" har alltså roten "v"

    p = rot.."oulu"

    p = rot.."oulant"

    p = rot.."eux"
    p = rot.."eux"
    p = rot.."eut"
    p = rot.."oulons"
    p = rot.."oulez"
    p = rot.."eulent"

    p = rot.."oulais"
    p = rot.."oulais"
    p = rot.."oulait"
    p = rot.."oulions"
    p = rot.."ouliez"
    p = rot.."oulaient"

    p = rot.."oulus"
    p = rot.."oulus"
    p = rot.."oulut"
    p = rot.."oulûmes"
    p = rot.."oulûtes"
    p = rot.."oulurent"

    p = rot.."oudrai"
    p = rot.."oudras"
    p = rot.."oudra"
    p = rot.."oudrons"
    p = rot.."oudrez"
    p = rot.."oudront"

    p = rot.."euille"
    p = rot.."euilles"
    p = rot.."euille"
    p = rot.."oulions"
    p = rot.."ouliez"
    p = rot.."euillent"

    p = rot.."oulusse"
    p = rot.."oulusses"
    p = rot.."oulût"
    p = rot.."oulussions"
    p = rot.."oulussiez"
    p = rot.."oulussent"

    p = rot.."oudrais"
    p = rot.."oudrais"
    p = rot.."oudrait"
    p = rot.."oudrions"
    p = rot.."oudriez"
    p = rot.."oudraient"

    p = rot.."eux"
    p = rot.."oulons"
    p = rot.."oulez"
    
    p = rot.."euille"
    p = rot.."euillons"
    p = rot.."euillez"
    
    p = "57"
    p = "48"
    p = true
end

-- Sen, funktioner för övriga konjugationer hos B (i samma ordning som där)

-- det halvregelbundna verbet "peser" 
-- gäller för verb som slutar på "-ecer", "-emer", "-ener", "-eper",
-- "-erer", "-eser", "-ever", "-evrer"
-- notera att verb som slutar på "-eler" och "-eter" täcks av andra funktioner
function konj_peser(artikelnamn)
    local verbetsbas = string.gsub(artikelnamn,"er$","")
    local kortrot = ""
    if (string.sub(verbetsbas, -2) == "vr") then
      kortrot = "vr"
    else
      kortrot = string.sub(verbetsbas, -1)
    end
    local langrot = string.gsub(artikelnamn, "e"..kortrot.."er".."$", "")
    -- exempel: för "peser" blir den "långa" roten "p" och den korta roten "s"

    p = langrot.."e"..kortrot.."é"

    p = langrot.."e"..kortrot.."ant"

    p = langrot.."è"..kortrot.."e"
    p = langrot.."è"..kortrot.."es"
    p = langrot.."è"..kortrot.."e"
    p = langrot.."e"..kortrot.."ons"
    p = langrot.."e"..kortrot.."ez"
    p = langrot.."è"..kortrot.."ent"

    p = langrot.."e"..kortrot.."ais"
    p = langrot.."e"..kortrot.."ais"
    p = langrot.."e"..kortrot.."ait"
    p = langrot.."e"..kortrot.."ions"
    p = langrot.."e"..kortrot.."iez"
    p = langrot.."e"..kortrot.."aient"

    p = langrot.."e"..kortrot.."ai"
    p = langrot.."e"..kortrot.."as"
    p = langrot.."e"..kortrot.."a"
    p = langrot.."e"..kortrot.."âmes"
    p = langrot.."e"..kortrot.."âtes"
    p = langrot.."e"..kortrot.."èrent"

    p = langrot.."è"..kortrot.."erai"
    p = langrot.."è"..kortrot.."eras"
    p = langrot.."è"..kortrot.."era"
    p = langrot.."è"..kortrot.."erons"
    p = langrot.."è"..kortrot.."erez"
    p = langrot.."è"..kortrot.."eront"

    p = langrot.."è"..kortrot.."e"
    p = langrot.."è"..kortrot.."es"
    p = langrot.."è"..kortrot.."e"
    p = langrot.."e"..kortrot.."ions"
    p = langrot.."e"..kortrot.."iez"
    p = langrot.."è"..kortrot.."ent"

    p = langrot.."e"..kortrot.."asse"
    p = langrot.."e"..kortrot.."asses"
    p = langrot.."e"..kortrot.."ât"
    p = langrot.."e"..kortrot.."assions"
    p = langrot.."e"..kortrot.."assiez"
    p = langrot.."e"..kortrot.."assent"

    p = langrot.."è"..kortrot.."erais"
    p = langrot.."è"..kortrot.."erais"
    p = langrot.."è"..kortrot.."erait"
    p = langrot.."è"..kortrot.."erions"
    p = langrot.."è"..kortrot.."eriez"
    p = langrot.."è"..kortrot.."eraient"

    p = langrot.."è"..kortrot.."e"
    p = langrot.."e"..kortrot.."ons"
    p = langrot.."e"..kortrot.."ez"

    p = "9"
    p = false
end

-- det halvregelbundna verbet "céder" 
-- gäller för verb som slutar på "-é(.)er"
function konj_ceder(artikelnamn)
    local kortrot = ""
    if (string.sub(artikelnamn,-6,-5) == "é") then
        kortrot = string.sub(artikelnamn,-4,-3)
    else
        kortrot = string.sub(artikelnamn,-3,-3)
    end

    local langrot = string.gsub(artikelnamn, "é"..kortrot.."er".."$", "")
    -- exempel: för "céder" blir den "långa" roten "c" och den korta roten "d"
    -- exempel: för "disséquer" blir den "långa" roten "diss" och den korta "qu"

    p = langrot.."é"..kortrot.."é"

    p = langrot.."é"..kortrot.."ant"

    p = langrot.."è"..kortrot.."e"
    p = langrot.."è"..kortrot.."es"
    p = langrot.."è"..kortrot.."e"
    p = langrot.."é"..kortrot.."ons"
    p = langrot.."é"..kortrot.."ez"
    p = langrot.."è"..kortrot.."ent"

    p = langrot.."é"..kortrot.."ais"
    p = langrot.."é"..kortrot.."ais"
    p = langrot.."é"..kortrot.."ait"
    p = langrot.."é"..kortrot.."ions"
    p = langrot.."é"..kortrot.."iez"
    p = langrot.."é"..kortrot.."aient"

    p = langrot.."é"..kortrot.."ai"
    p = langrot.."é"..kortrot.."as"
    p = langrot.."é"..kortrot.."a"
    p = langrot.."é"..kortrot.."âmes"
    p = langrot.."é"..kortrot.."âtes"
    p = langrot.."é"..kortrot.."èrent"

    p = langrot.."è"..kortrot.."erai"
    p = langrot.."è"..kortrot.."eras"
    p = langrot.."è"..kortrot.."era"
    p = langrot.."è"..kortrot.."erons"
    p = langrot.."è"..kortrot.."erez"
    p = langrot.."è"..kortrot.."eront"

    p = langrot.."è"..kortrot.."e"
    p = langrot.."è"..kortrot.."es"
    p = langrot.."è"..kortrot.."e"
    p = langrot.."é"..kortrot.."ions"
    p = langrot.."é"..kortrot.."iez"
    p = langrot.."è"..kortrot.."ent"

    p = langrot.."é"..kortrot.."asse"
    p = langrot.."é"..kortrot.."asses"
    p = langrot.."é"..kortrot.."ât"
    p = langrot.."é"..kortrot.."assions"
    p = langrot.."é"..kortrot.."assiez"
    p = langrot.."é"..kortrot.."assent"

    p = langrot.."è"..kortrot.."erais"
    p = langrot.."è"..kortrot.."erais"
    p = langrot.."è"..kortrot.."erait"
    p = langrot.."è"..kortrot.."erions"
    p = langrot.."è"..kortrot.."eriez"
    p = langrot.."è"..kortrot.."eraient"

    p = langrot.."è"..kortrot.."e"
    p = langrot.."é"..kortrot.."ons"
    p = langrot.."é"..kortrot.."ez"

    -- sen, de alternativa formerna

    p = langrot.."é"..kortrot.."erai"
    p = langrot.."é"..kortrot.."eras"
    p = langrot.."é"..kortrot.."era"
    p = langrot.."é"..kortrot.."erons"
    p = langrot.."é"..kortrot.."erez"
    p = langrot.."é"..kortrot.."eront"

    p = langrot.."é"..kortrot.."erais"
    p = langrot.."é"..kortrot.."erais"
    p = langrot.."é"..kortrot.."erait"
    p = langrot.."é"..kortrot.."erions"
    p = langrot.."é"..kortrot.."eriez"
    p = langrot.."é"..kortrot.."eraient"

    p = "Formerna med 'é' är mindre vanliga sedan 1990 års stavningsreform."

    p = "146"
    p = "10"
    p = false

end

-- det halvregelbundna verbet "jeter" 
-- gäller för verb som slutar på "-eler" eller "-eter", förutom i några
-- undantag (som hanteras av funktionen konj_modeler() istället)
-- exempel är "jeter" och "appeler"
function konj_jeter(artikelnamn)
    local verbetsbas = string.gsub(artikelnamn,"er$","")
    local kortrot = string.sub(verbetsbas, -1)
    local langrot = string.gsub(artikelnamn, "e"..kortrot.."er".."$", "")
    -- för "jeter" blir den långa roten "j" och den korta roten "t"
    -- för "appeler" blir den långa roten "app" och den korta roten "l"

    p = langrot.."e"..kortrot.."é"

    p = langrot.."e"..kortrot.."ant"

    p = langrot.."e"..kortrot..kortrot.."e"
    p = langrot.."e"..kortrot..kortrot.."es"
    p = langrot.."e"..kortrot..kortrot.."e"
    p = langrot.."e"..kortrot.."ons"
    p = langrot.."e"..kortrot.."ez"
    p = langrot.."e"..kortrot..kortrot.."ent"

    p = langrot.."e"..kortrot.."ais"
    p = langrot.."e"..kortrot.."ais"
    p = langrot.."e"..kortrot.."ait"
    p = langrot.."e"..kortrot.."ions"
    p = langrot.."e"..kortrot.."iez"
    p = langrot.."e"..kortrot.."aient"

    p = langrot.."e"..kortrot.."ai"
    p = langrot.."e"..kortrot.."as"
    p = langrot.."e"..kortrot.."a"
    p = langrot.."e"..kortrot.."âmes"
    p = langrot.."e"..kortrot.."âtes"
    p = langrot.."e"..kortrot.."èrent"

    p = langrot.."e"..kortrot..kortrot.."erai"
    p = langrot.."e"..kortrot..kortrot.."eras"
    p = langrot.."e"..kortrot..kortrot.."era"
    p = langrot.."e"..kortrot..kortrot.."erons"
    p = langrot.."e"..kortrot..kortrot.."erez"
    p = langrot.."e"..kortrot..kortrot.."eront"

    p = langrot.."e"..kortrot..kortrot.."e"
    p = langrot.."e"..kortrot..kortrot.."es"
    p = langrot.."e"..kortrot..kortrot.."e"
    p = langrot.."e"..kortrot.."ions"
    p = langrot.."e"..kortrot.."iez"
    p = langrot.."e"..kortrot..kortrot.."ent"

    p = langrot.."e"..kortrot.."asse"
    p = langrot.."e"..kortrot.."asses"
    p = langrot.."e"..kortrot.."ât"
    p = langrot.."e"..kortrot.."assions"
    p = langrot.."e"..kortrot.."assiez"
    p = langrot.."e"..kortrot.."assent"

    p = langrot.."e"..kortrot..kortrot.."erais"
    p = langrot.."e"..kortrot..kortrot.."erais"
    p = langrot.."e"..kortrot..kortrot.."erait"
    p = langrot.."e"..kortrot..kortrot.."erions"
    p = langrot.."e"..kortrot..kortrot.."eriez"
    p = langrot.."e"..kortrot..kortrot.."eraient"

    p = langrot.."e"..kortrot..kortrot.."e"
    p = langrot.."e"..kortrot.."ons"
    p = langrot.."e"..kortrot.."ez"

    p = "146"
    p = "11"

    p = false
end

-- det halvregelbundna verbet "modeler" 
-- gäller för vissa verb som slutar på "-eler" eller "-eter", som
-- konjugeras annorlunda från hur sådana verb görs normalt
-- exempel är "modeler" och "acheter"
function konj_modeler(artikelnamn)
    local verbetsbas = string.gsub(artikelnamn,"er$","")
    local kortrot = string.sub(verbetsbas, -1)
    local langrot = string.gsub(artikelnamn, "e"..kortrot.."er".."$", "")
    -- för "modeler" blir den långa roten "m" och den korta roten "l"
    -- för "acheter" blir den långa roten "ach" och den korta roten "t"

    p = langrot.."e"..kortrot.."é"

    p = langrot.."e"..kortrot.."ant"

    p = langrot.."è"..kortrot.."e"
    p = langrot.."è"..kortrot.."es"
    p = langrot.."è"..kortrot.."e"
    p = langrot.."e"..kortrot.."ons"
    p = langrot.."e"..kortrot.."ez"
    p = langrot.."è"..kortrot.."ent"

    p = langrot.."e"..kortrot.."ais"
    p = langrot.."e"..kortrot.."ais"
    p = langrot.."e"..kortrot.."ait"
    p = langrot.."e"..kortrot.."ions"
    p = langrot.."e"..kortrot.."iez"
    p = langrot.."e"..kortrot.."aient"

    p = langrot.."e"..kortrot.."ai"
    p = langrot.."e"..kortrot.."as"
    p = langrot.."e"..kortrot.."a"
    p = langrot.."e"..kortrot.."âmes"
    p = langrot.."e"..kortrot.."âtes"
    p = langrot.."e"..kortrot.."èrent"

    p = langrot.."è"..kortrot.."erai"
    p = langrot.."è"..kortrot.."eras"
    p = langrot.."è"..kortrot.."era"
    p = langrot.."è"..kortrot.."erons"
    p = langrot.."è"..kortrot.."erez"
    p = langrot.."è"..kortrot.."eront"

    p = langrot.."è"..kortrot.."e"
    p = langrot.."è"..kortrot.."es"
    p = langrot.."è"..kortrot.."e"
    p = langrot.."e"..kortrot.."ions"
    p = langrot.."e"..kortrot.."iez"
    p = langrot.."è"..kortrot.."ent"

    p = langrot.."e"..kortrot.."asse"
    p = langrot.."e"..kortrot.."asses"
    p = langrot.."e"..kortrot.."ât"
    p = langrot.."e"..kortrot.."assions"
    p = langrot.."e"..kortrot.."assiez"
    p = langrot.."e"..kortrot.."assent"

    p = langrot.."è"..kortrot.."erais"
    p = langrot.."è"..kortrot.."erais"
    p = langrot.."è"..kortrot.."erait"
    p = langrot.."è"..kortrot.."erions"
    p = langrot.."è"..kortrot.."eriez"
    p = langrot.."è"..kortrot.."eraient"

    p = langrot.."è"..kortrot.."e"
    p = langrot.."e"..kortrot.."ons"
    p = langrot.."e"..kortrot.."ez"

    p = "146"
    p = "12"
    p = false
    
end

-- Regelbundna verb som slutar på "-éger" 
-- exempelvis "assiéger"
function konj_assieger(artikelnamn)
    local rot = string.gsub(artikelnamn,"éger$","")
    -- för "assiéger" blir roten "assi"

    p = rot.."égé"

    p = rot.."égeant"

    p = rot.."ège"
    p = rot.."èges"
    p = rot.."ège"
    p = rot.."égeons"
    p = rot.."égez"
    p = rot.."ègent"

    p = rot.."égeais"
    p = rot.."égeais"
    p = rot.."égeait"
    p = rot.."égions"
    p = rot.."égiez"
    p = rot.."égeaient"

    p = rot.."égeai"
    p = rot.."égeas"
    p = rot.."égea"
    p = rot.."égeâmes"
    p = rot.."égeâtes"
    p = rot.."égèrent"

    p = rot.."égerai"
    p = rot.."égeras"
    p = rot.."égera"
    p = rot.."égerons"
    p = rot.."égerez"
    p = rot.."égeront"

    p = rot.."ège"
    p = rot.."èges"
    p = rot.."ège"
    p = rot.."égions"
    p = rot.."égiez"
    p = rot.."ègent"

    p = rot.."égeasse"
    p = rot.."égeasses"
    p = rot.."égeât"
    p = rot.."égeassions"
    p = rot.."égeassiez"
    p = rot.."égeassent"

    p = rot.."égerais"
    p = rot.."égerais"
    p = rot.."égerait"
    p = rot.."égerions"
    p = rot.."égeriez"
    p = rot.."égeraient"

    p = rot.."ège"
    p = rot.."égons"
    p = rot.."égez"

    p = "14"
    p = false
end

-- Verbet "maudire" 
-- böjs trots ändelsen "-dire" istället som verb på "-ir"
-- fast med ett annorlunda perfektparticip
function konj_maudire(artikelnamn)
    local rot = string.gsub(artikelnamn,"ire$","")
    -- för "maudire" blir roten "maud"

    p = rot.."it"

    p = rot.."issant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."issons"
    p = rot.."issez"
    p = rot.."issent"

    p = rot.."issais"
    p = rot.."issais"
    p = rot.."issait"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."irai"
    p = rot.."iras"
    p = rot.."ira"
    p = rot.."irons"
    p = rot.."irez"
    p = rot.."iront"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."isse"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."irais"
    p = rot.."irais"
    p = rot.."irait"
    p = rot.."irions"
    p = rot.."iriez"
    p = rot.."iraient"

    p = rot.."is"
    p = rot.."issons"
    p = rot.."issez"

    p = "19"
    p = false
end

-- Det oregelbundna verbet "vêtir" 
-- samt "dévêtir" och "revêtir"
function konj_vetir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ir$","")
    -- för "vêtir" blir roten "vêt"

    p = rot.."u"

    p = rot.."ant"

    p = rot.."s"
    p = rot.."s"
    p = rot
    p = rot.."ons"
    p = rot.."ez"
    p = rot.."ent"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."ait"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."aient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."irai"
    p = rot.."iras"
    p = rot.."ira"
    p = rot.."irons"
    p = rot.."irez"
    p = rot.."iront"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."ent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."irais"
    p = rot.."irais"
    p = rot.."irait"
    p = rot.."irions"
    p = rot.."iriez"
    p = rot.."iraient"

    p = rot.."s"
    p = rot.."ons"
    p = rot.."ez"

    p = "26"
    p = false
end

-- Det oregelbundna verbet "assaillir" 
-- samt verb som slutar på "-aillir", som
-- "tressaillir", "défaillir", men dock ej "faillir"
function konj_assaillir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ir$","")
    -- för "assaillir" blir roten "assaill"

    p = rot.."i"

    p = rot.."ant"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."ons"
    p = rot.."ez"
    p = rot.."ent"

    p = rot.."ais"
    p = rot.."ais"
    p = rot.."ait"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."aient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."irai"
    p = rot.."iras"
    p = rot.."ira"
    p = rot.."irons"
    p = rot.."irez"
    p = rot.."iront"

    p = rot.."e"
    p = rot.."es"
    p = rot.."e"
    p = rot.."ions"
    p = rot.."iez"
    p = rot.."ent"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."irais"
    p = rot.."irais"
    p = rot.."irait"
    p = rot.."irions"
    p = rot.."iriez"
    p = rot.."iraient"

    p = rot.."e"
    p = rot.."ons"
    p = rot.."ez"

    -- specialfall! just "saillir" har två variationer:
    if(string.match(artikelnamn,"^saillir$")) then
        p = rot.."era"
        p = rot.."eront"
    end

    p = "29"
    p = false
end

-- Verbet "gésir" 
-- saknar flera böjningsformer
function konj_gesir(artikelnamn)
    local rot = string.gsub(artikelnamn,"ésir$","")
    -- för "gésir" blir roten "g"

    p = false

    p = rot.."isant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."ît"
    p = rot.."isons"
    p = rot.."isez"
    p = rot.."isent"

    p = rot.."isais"
    p = rot.."isais"
    p = rot.."isait"
    p = rot.."isions"
    p = rot.."isiez"
    p = rot.."isaient"

    p = "Verbet är defekt och saknar de flesta böjningsformer."

    p = "37"
    p = false
end

-- Det oregelbundna verbet "pourvoir" 
-- även t.ex. "dépourvoir"
function konj_pourvoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"oir$","")
    -- ordet "pourvoir" får roten "pourv"

    p = rot.."u"

    p = rot.."oyant"

    p = rot.."ois"
    p = rot.."ois"
    p = rot.."oit"
    p = rot.."oyons"
    p = rot.."oyez"
    p = rot.."oient"

    p = rot.."oyais"
    p = rot.."oyais"
    p = rot.."oyait"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oyaient"

    p = rot.."us"
    p = rot.."us"
    p = rot.."ut"
    p = rot.."ûmes"
    p = rot.."ûtes"
    p = rot.."urent"

    p = rot.."oirai"
    p = rot.."oiras"
    p = rot.."oira"
    p = rot.."oirons"
    p = rot.."oirez"
    p = rot.."oiront"

    p = rot.."oie"
    p = rot.."oies"
    p = rot.."oie"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oient"

    p = rot.."usse"
    p = rot.."usses"
    p = rot.."ût"
    p = rot.."ussions"
    p = rot.."ussiez"
    p = rot.."ussent"

    p = rot.."oirais"
    p = rot.."oirais"
    p = rot.."oirait"
    p = rot.."oirions"
    p = rot.."oiriez"
    p = rot.."oiraient"

    p = rot.."ois"
    p = rot.."oyons"
    p = rot.."oyez"
    
    p = "40"
    p = true
end

-- Det oregelbundna verbet "surseoir" 
-- Lägg märke till att nedanstående är konjugeringen enligt källan.
-- Franska Wiktionary antyder att detta är omstritt, och att det
-- finns andra böjningsformer.
function konj_surseoir(artikelnamn)
    local rot = string.gsub(artikelnamn,"eoir$","")
    -- för "surseoir" blir roten "surs"

    p = rot.."is"

    p = rot.."oyant"

    p = rot.."ois"
    p = rot.."ois"
    p = rot.."oit"
    p = rot.."oyons"
    p = rot.."oyez"
    p = rot.."oient"

    p = rot.."oyais"
    p = rot.."oyais"
    p = rot.."oyait"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oyaient"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."îmes"
    p = rot.."îtes"
    p = rot.."irent"

    p = rot.."eoirai"
    p = rot.."eoiras"
    p = rot.."eoira"
    p = rot.."eoirons"
    p = rot.."eoirez"
    p = rot.."eoiront"

    p = rot.."oie"
    p = rot.."oies"
    p = rot.."oie"
    p = rot.."oyions"
    p = rot.."oyiez"
    p = rot.."oient"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."ît"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."eoirais"
    p = rot.."eoirais"
    p = rot.."eoirait"
    p = rot.."eoirions"
    p = rot.."eoiriez"
    p = rot.."eoiraient"

    p = rot.."ois"
    p = rot.."oyons"
    p = rot.."oyez"

    p = "51"
    p = false
end

-- Det oregelbundna verbet "traire" 
-- samt "extraire", "distraire", "braire"
function konj_traire(artikelnamn)
    local rot = string.gsub(artikelnamn,"ire$","")
    -- för "traire" blir roten "tra"

    p = rot.."it"

    p = rot.."yant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."it"
    p = rot.."yons"
    p = rot.."yez"
    p = rot.."ient"

    p = rot.."yais"
    p = rot.."yais"
    p = rot.."yait"
    p = rot.."yions"
    p = rot.."yiez"
    p = rot.."yaient"

    p = rot.."irai"
    p = rot.."iras"
    p = rot.."ira"
    p = rot.."irons"
    p = rot.."irez"
    p = rot.."iront"

    p = rot.."ie"
    p = rot.."ies"
    p = rot.."ie"
    p = rot.."yions"
    p = rot.."yiez"
    p = rot.."ient"

    p = rot.."irais"
    p = rot.."irais"
    p = rot.."irait"
    p = rot.."irions"
    p = rot.."iriez"
    p = rot.."iraient"

    p = rot.."is"
    p = rot.."yons"
    p = rot.."yez"

    p = "Verbet är defekt och saknar böjningsformer för ''indicatif passé simple'' samt ''subjonctif imparfait''."

    p = "61"
    p = false
end

-- Det oregelbundna verbet "paître" 
-- samt "repaître"
function konj_paitre(artikelnamn)
    local rot = string.gsub(artikelnamn,"ître$","")
    -- för "paître" blir roten "pa"

    p = false

    p = rot.."issant"

    p = rot.."is"
    p = rot.."is"
    p = rot.."ît"
    p = rot.."issons"
    p = rot.."issez"
    p = rot.."issent"

    p = rot.."issais"
    p = rot.."issais"
    p = rot.."issait"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issaient"

    p = rot.."îtrai"
    p = rot.."îtras"
    p = rot.."îtra"
    p = rot.."îtrons"
    p = rot.."îtrez"
    p = rot.."îtront"

    p = rot.."isse"
    p = rot.."isses"
    p = rot.."isse"
    p = rot.."issions"
    p = rot.."issiez"
    p = rot.."issent"

    p = rot.."îtrais"
    p = rot.."îtrais"
    p = rot.."îtrait"
    p = rot.."îtrions"
    p = rot.."îtriez"
    p = rot.."îtraient"

    p = rot.."is"
    --p = rot
    p = rot.."issez"

    if (string.match(artikelnamn,"^paître$")) then
        p = "Ordet '']'' används bara som perfektparticip inom falkenering."
    end

    if (string.match(artikelnamn,"^repaître$")) then
    	local rot = string.gsub(artikelnamn,"aître$","")
    	-- för "repaître" blir roten "rep"
    	
        p = true

        p = rot.."u"

        p = rot.."us"
        p = rot.."us"
        p = rot.."ut"
        p = rot.."ûmes"
        p = rot.."ûtes"
        p = rot.."urent"
    end

    p = "66"
    p = false
end

-- Det oregelbundna verbet "clore" 
-- även t.ex. "éclore", "enclore", "déclore", "forclore"
function konj_clore(artikelnamn)
    local rot = string.gsub(artikelnamn,"ore$","")
    -- för "clore" är rot "cl"

    p = rot.."os"

    p = rot.."osant"

    p = rot.."os"
    p = rot.."os"
    p = rot.."ôt"
    -- p = rot.."osons"
    -- p = rot.."osez"
    p = rot.."osent"

    -- p = rot.."osais"
    -- p = rot.."osais"
    -- p = rot.."osait"
    -- p = rot.."osions"
    -- p = rot.."osiez"
    -- p = rot.."osaient"

    -- p = rot.."osis"
    -- p = rot.."osis"
    -- p = rot.."osit"
    -- p = rot.."osîmes"
    -- p = rot.."osîtes"
    -- p = rot.."osirent"

    p = rot.."orai"
    p = rot.."oras"
    p = rot.."ora"
    p = rot.."orons"
    p = rot.."orez"
    p = rot.."oront"

    p = rot.."ose"
    p = rot.."oses"
    p = rot.."ose"
    p = rot.."osions"
    p = rot.."osiez"
    p = rot.."osent"

    -- p = rot.."osisse"
    -- p = rot.."osisses"
    -- p = rot.."osît"
    -- p = rot.."osissions"
    -- p = rot.."osissiez"
    -- p = rot.."osissent"

    p = rot.."orais"
    p = rot.."orais"
    p = rot.."orait"
    p = rot.."orions"
    p = rot.."oriez"
    p = rot.."oraient"

    p = rot.."os"
    -- p = rot.."osons"
    -- p = rot.."osez"
    
    -- De formerna som kommenterats bort ovan finns med på franska
    -- Wiktionary, där de markerats som ovanliga, men inte i Bescherelle.
    -- Jag har valt att inte ha med dem.

    -- Specialfall! Cirkumflex gäller tydligen bara för "clore", inte för
    -- de sammansatta fallen. Franska Wiktionary saknar nedanstående säregenhet:
    if(not string.match(artikelnamn,"^clore$")) then
        p = rot.."ot"
    end

    p = "Ordet är ett defekt verb som saknar flera av böjningsformerna."
    
    p = "70"
    p = true
end

-- Defekta verb som "accroire", "apparoir", "assavoir"
function konj_defektiv(artikelnamn)
    p = true

    p = false

    p = "D"
    p = true
end

---------------------------------------------------------------
---------------------------------------------------------------

--  Vilken konjugation är det som gäller?

---------------------------------------------------------------
---------------------------------------------------------------

-- Traditionellt säger man att det finns tre konjugationer.
-- I själva verket finns det (medräknat de olika oregelbundna
-- verben) dussintals olika former. För att hantera det korrekt
-- tas först de olika oregelbundna formerna upp först. Sedan
-- de regelbundna.

function export.konjugera( artikelnamn )
  verb = remove_reflexive_form(artikelnamn)

  -- {Första konjugationen}, verb som slutar på "-er"
  if(string.match(verb,"er$")) then
      -- Oregelbundna verb som slutar på "-er"
      if(string.match(verb,"^aller$")) then
          konj_aller(verb)
      elseif(string.match(verb,"^envoyer$")) then
          konj_envoyer(verb)
      elseif(string.match(verb,"éger$")) then -- tolkas annars som "-ger"
      	  konj_assieger(verb)
      elseif(string.match(verb,"cer$")) then
          konj_cer(verb)
      elseif(string.match(verb,"ger$")) then
          konj_ger(verb)
      elseif(string.match(verb,"oyer$")) then
          konj_oyer(verb)
      elseif(string.match(verb,"uyer$")) then
          konj_oyer(verb) -- notera, sköts som "oyer"
      elseif(string.match(verb,"ayer$")) then
          konj_ayer(verb)

      -- Sen undantag enligt Bescherelle:
      -- först, några verb som böjs som "peser"
      elseif(string.match(verb,"ecer$")) then
      	  konj_peser(verb)
      elseif(string.match(verb,"emer$")) then
      	  konj_peser(verb)
      elseif(string.match(verb,"ener$")) then
      	  konj_peser(verb)
      elseif(string.match(verb,"eper$")) then
      	  konj_peser(verb)
      elseif(string.match(verb,"erer$")) then
      	  konj_peser(verb)
      elseif(string.match(verb,"eser$")) then
      	  konj_peser(verb)
      elseif(string.match(verb,"ever$")) then
      	  konj_peser(verb)
      elseif(string.match(verb,"evrer$")) then
      	  konj_peser(verb)
      -- sen, de verb som böjs som "modeler"
      elseif(string.match(verb,"^celer$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^déceler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^receler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^ciseler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^démanteler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^écarteler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^encasteler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^geler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^dégeler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^congeler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^surgeler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^marteler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^modeler$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^peler$")) then
      	  konj_modeler(verb)
      -- annars böjs de som "appeler"
      elseif(string.match(verb,"eler$")) then
      	  konj_jeter(verb)
      -- sen, de verb som böjs som "acheter"
      elseif(string.match(verb,"^acheter$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^racheter$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^bégueter$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^corseter$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^crocheter$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^fileter$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^fureter$")) then
      	  konj_modeler(verb)
      elseif(string.match(verb,"^haleter$")) then
      	  konj_modeler(verb)
      -- annars böjs de som "jeter"
      elseif(string.match(verb,"eter$")) then
      	  konj_jeter(verb)
      -- sen, verb som slutar på "-é(.)er"
      elseif(string.match(verb,"ébrer$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"écer$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"écher$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"érer$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"éder$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"égler$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"égner$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"égrer$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"éguer$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"éler$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"émer$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"éner$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"éper$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"équer$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"érer$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"éser$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"éter$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"étrer$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"évrer$")) then
      	  konj_ceder(verb)
      elseif(string.match(verb,"éyer$")) then
      	  konj_ceder(verb)
      -- Bescherelle skriver kryptiskt bara "etc."
      -- finns det fler former av "-é(.)er" som böjs som "céder"?

      -- Första konjugationens regelbundna
      else
          konj_er(verb)
      end
  end
  
  -- {Andra konjugationen}, verb som slutar på "-ir"
  if(string.match(verb,"ir$")) then
      -- Oregelbundna verb som slutar på "-ir"
      -- Först de som uttryckligen räknas upp av källan 
      if(string.match(verb,"^abstenir$")) then
          konj_tenir(verb)
      elseif(string.match(verb,"^accourir$")) then
          konj_courir(verb)
      elseif(string.match(verb,"^accueillir$")) then
          konj_cueillir(verb)
      elseif(string.match(verb,"^acquérir$")) then
          konj_acquerir(verb)
      elseif(string.match(verb,"^apercevoir$")) then
          konj_recevoir(verb)
      elseif(string.match(verb,"^appartenir$")) then
          konj_tenir(verb)
      elseif(string.match(verb,"^asseoir$")) then
          konj_asseoir(verb)
      elseif(string.match(verb,"^avoir$")) then
          konj_avoir(verb)
      elseif(string.match(verb,"^bouillir$")) then
          konj_bouillir(verb)
      elseif(string.match(verb,"^concourir$")) then
          konj_courir(verb)
      elseif(string.match(verb,"^conquérir$")) then
          konj_acquerir(verb)
      elseif(string.match(verb,"^consentir$")) then
          konj_sentir(verb)
      elseif(string.match(verb,"^contenir$")) then
          konj_tenir(verb)
      elseif(string.match(verb,"^contrevenir$")) then
          konj_venir(verb)
      elseif(string.match(verb,"^convenir$")) then
          konj_venir(verb)
      elseif(string.match(verb,"^courir$")) then
          konj_courir(verb)
      elseif(string.match(verb,"^couvrir$")) then
          konj_ouvrir(verb)
      elseif(string.match(verb,"^cueillir$")) then
          konj_cueillir(verb)
      elseif(string.match(verb,"^décevoir$")) then
          konj_recevoir(verb)
      elseif(string.match(verb,"^découvrir$")) then
          konj_ouvrir(verb)
      elseif(string.match(verb,"^démentir$")) then
          konj_mentir(verb)
      elseif(string.match(verb,"^desservir$")) then
          konj_servir(verb)
      elseif(string.match(verb,"^détenir$")) then
          konj_tenir(verb)
      elseif(string.match(verb,"^devenir$")) then
          konj_venir(verb)
      elseif(string.match(verb,"^devoir$")) then
          konj_devoir(verb)
      elseif(string.match(verb,"^dormir$")) then
          konj_dormir(verb)
      elseif(string.match(verb,"^émouvoir$")) then
          konj_mouvoir(verb)
      elseif(string.match(verb,"^endormir$")) then
          konj_dormir(verb)
      elseif(string.match(verb,"^enfuir$")) then
          konj_fuir(verb)
      elseif(string.match(verb,"^enquérir$")) then
          konj_acquerir(verb)
      elseif(string.match(verb,"^entretenir$")) then
          konj_tenir(verb)
      elseif(string.match(verb,"^entrevoir$")) then
          konj_voir(verb)
      elseif(string.match(verb,"^entrouvrir$")) then
          konj_ouvrir(verb)
      elseif(string.match(verb,"^équivaloir$")) then
          konj_valoir(verb)
      elseif(string.match(verb,"^falloir$")) then
          konj_falloir(verb)
      elseif(string.match(verb,"^fuir$")) then
          konj_fuir(verb)
      elseif(string.match(verb,"^maintenir$")) then
          konj_tenir(verb)
      elseif(string.match(verb,"^mentir$")) then
          konj_mentir(verb)
      elseif(string.match(verb,"^mourir$")) then
          konj_mourir(verb)
      elseif(string.match(verb,"^mouvoir$")) then
          konj_mouvoir(verb)
      elseif(string.match(verb,"^obtenir$")) then
          konj_tenir(verb)
      elseif(string.match(verb,"^offrir$")) then
          konj_ouvrir(verb)
      elseif(string.match(verb,"^ouvrir$")) then
          konj_ouvrir(verb)
      elseif(string.match(verb,"^parcourir$")) then
          konj_courir(verb)
      elseif(string.match(verb,"^partir$")) then
          konj_partir(verb)
      elseif(string.match(verb,"^parvenir$")) then
          konj_venir(verb)
      elseif(string.match(verb,"^percevoir$")) then
          konj_recevoir(verb)
      elseif(string.match(verb,"^pleuvoir$")) then
          konj_pleuvoir(verb)
      elseif(string.match(verb,"^pouvoir$")) then
          konj_pouvoir(verb)
      elseif(string.match(verb,"^prévenir$")) then
          konj_venir(verb)
      elseif(string.match(verb,"^prévoir$")) then
          konj_voir(verb)
      elseif(string.match(verb,"^recevoir$")) then
          konj_recevoir(verb)
      elseif(string.match(verb,"^recourir$")) then
          konj_courir(verb)
      elseif(string.match(verb,"^recueillir$")) then
          konj_cueillir(verb)
      elseif(string.match(verb,"^repentir$")) then
          konj_sentir(verb)
      elseif(string.match(verb,"^retenir$")) then
          konj_tenir(verb)
      elseif(string.match(verb,"^savoir$")) then
          konj_savoir(verb)
      elseif(string.match(verb,"^secourir$")) then
          konj_courir(verb)
      elseif(string.match(verb,"^sentir$")) then
          konj_sentir(verb)
      elseif(string.match(verb,"^servir$")) then
          konj_servir(verb)
      elseif(string.match(verb,"^sortir$")) then
          konj_sortir(verb)
      elseif(string.match(verb,"^souffrir$")) then
          konj_ouvrir(verb)
      elseif(string.match(verb,"^soutenir$")) then
          konj_tenir(verb)
      elseif(string.match(verb,"^souvenir$")) then
          konj_venir(verb)
      elseif(string.match(verb,"^survenir$")) then
          konj_venir(verb)
      elseif(string.match(verb,"^tenir$")) then
          konj_tenir(verb)
      elseif(string.match(verb,"^valoir$")) then
          konj_valoir(verb)
      elseif(string.match(verb,"^venir$")) then
          konj_venir(verb)
      elseif(string.match(verb,"^voir$")) then
          konj_voir(verb)
      elseif(string.match(verb,"^vouloir$")) then
          konj_vouloir(verb)
  
      -- sen några defekta verb
      elseif(string.match(verb,"^apparoir$")) then
      	  konj_defektiv(verb)
      elseif(string.match(verb,"^assavoir$")) then
      	  konj_defektiv(verb)
  
      -- sen resterande undantag, enligt min egen tolkning
      -- nedanstående följer inte uttryckligen av mina källor
      -- notera att dessa ej kan vara i bokstavsordning
      -- ha istället längre före kortare
      elseif(string.match(verb,"^asservir$")) then
          konj_ir(verb) -- notera: böjs INTE som -servir
      elseif(string.match(verb,"^assortir$")) then
          konj_ir(verb) -- notera: böjs INTE som -sortir
      elseif(string.match(verb,"^surseoir$")) then
          konj_surseoir(artikelnamn)
      elseif(string.match(verb,"^gésir$")) then
          konj_gesir(verb)
      elseif(string.match(verb,"bouillir$")) then
          konj_bouillir(verb)
      elseif(string.match(verb,"pleuvoir$")) then
          konj_pleuvoir(verb)
      elseif(string.match(verb,"pourvoir$")) then
          konj_pourvoir(verb)
--      elseif(string.match(verb,"faillir$")) then
--      	  konj_faillir(verb) -- TODO: skriv denna metod
      elseif(string.match(verb,"asseoir$")) then
          konj_asseoir(verb)
      elseif(string.match(verb,"mouvoir$")) then
          konj_mouvoir(verb)
      elseif(string.match(verb,"aillir$")) then
          konj_assaillir(verb)
      elseif(string.match(verb,"courir$")) then
          konj_courir(verb)
      elseif(string.match(verb,"cevoir$")) then
          konj_recevoir(verb)
      elseif(string.match(verb,"dormir$")) then
          konj_dormir(verb)
      elseif(string.match(verb,"quérir$")) then
          konj_acquerir(verb)
      elseif(string.match(verb,"partir$")) then
          konj_partir(verb)
      elseif(string.match(verb,"sortir$")) then
          konj_sortir(verb)
      elseif(string.match(verb,"sentir$")) then
          konj_sentir(verb)
      elseif(string.match(verb,"ouvrir$")) then
          konj_ouvrir(verb)
      elseif(string.match(verb,"savoir$")) then
          konj_savoir(verb)
      elseif(string.match(verb,"devoir$")) then
          konj_devoir(verb)
      elseif(string.match(verb,"valoir$")) then
          konj_valoir(verb)
      elseif(string.match(verb,"savoir$")) then
          konj_savoir(verb)
      elseif(string.match(verb,"servir$")) then
          konj_servir(verb)
      elseif(string.match(verb,"vêtir$")) then
          konj_vetir(verb)
      elseif(string.match(verb,"avoir$")) then
          konj_avoir(verb)
      elseif(string.match(verb,"venir$")) then
          konj_venir(verb)
      elseif(string.match(verb,"fuir$")) then
          konj_fuir(verb)
      elseif(string.match(verb,"voir$")) then
          konj_voir(verb)
  
      -- Andra konjugationens regelbundna
      else
          konj_ir(verb)
      end
  end
  
  -- {Tredje konjugationen}, verb som slutar på "-re"
  if(string.match(verb,"re$")) then
      -- Oregelbundna verb som slutar på "-re"
      -- först uppräkningen enligt källan 
      if(string.match(verb,"^abattre$")) then
          konj_battre(verb)
      elseif(string.match(verb,"^admettre$")) then
          konj_mettre(verb)
      elseif(string.match(verb,"^accroître$")) then
          konj_croitre(verb)
      elseif(string.match(verb,"^apparaître$")) then
          konj_connaitre(verb)
      elseif(string.match(verb,"^apprendre$")) then
          konj_prendre(verb)
      elseif(string.match(verb,"^atteindre$")) then
          konj_peindre(verb)
      elseif(string.match(verb,"^battre$")) then
          konj_battre(verb)
      elseif(string.match(verb,"^boire$")) then
          konj_boire(verb)
      elseif(string.match(verb,"^combattre$")) then
          konj_battre(verb)
      elseif(string.match(verb,"^commettre$")) then
          konj_mettre(verb)
      elseif(string.match(verb,"^comprendre$")) then
          konj_prendre(verb)
      elseif(string.match(verb,"^conclure$")) then
          konj_conclure(verb)
      elseif(string.match(verb,"^conduire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^connaître$")) then
          konj_connaitre(verb)
      elseif(string.match(verb,"^construire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^contraindre$")) then
          konj_craindre(verb)
      elseif(string.match(verb,"^contredire$")) then
          konj_dire(verb)
      elseif(string.match(verb,"^convaincre$")) then
          konj_vaincre(verb)
      elseif(string.match(verb,"^coudre$")) then
          konj_coudre(verb)
      elseif(string.match(verb,"^craindre$")) then
          konj_craindre(verb)
      elseif(string.match(verb,"^croire$")) then
          konj_croire(verb)
      elseif(string.match(verb,"^croître$")) then
          konj_croitre(verb)
      elseif(string.match(verb,"^cuire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^débattre$")) then
          konj_battre(verb)
      elseif(string.match(verb,"^découdre$")) then
          konj_coudre(verb)
      elseif(string.match(verb,"^décrire$")) then
          konj_ecrire(verb)
      elseif(string.match(verb,"^décroître$")) then
          konj_croitre(verb)
      elseif(string.match(verb,"^défaire$")) then
          konj_faire(verb)
      elseif(string.match(verb,"^déplaire$")) then
          konj_plaire(verb)
      elseif(string.match(verb,"^déteindre$")) then
          konj_peindre(verb)
      elseif(string.match(verb,"^détruire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^dire$")) then
          konj_dire(verb)
      elseif(string.match(verb,"^disparaître$")) then
          konj_connaitre(verb)
      elseif(string.match(verb,"^dissoudre$")) then
          konj_resoudre(verb)
      elseif(string.match(verb,"^écrire$")) then
          konj_ecrire(verb)
      elseif(string.match(verb,"^élire$")) then
          konj_lire(verb)
      elseif(string.match(verb,"^entreprendre$")) then
          konj_prendre(verb)
      elseif(string.match(verb,"^éteindre$")) then
          konj_peindre(verb)
      elseif(string.match(verb,"^être$")) then
          konj_etre(verb)
      elseif(string.match(verb,"^exclure$")) then
          konj_conclure(verb)
      elseif(string.match(verb,"^faire$")) then
          konj_faire(verb)
      elseif(string.match(verb,"^feindre$")) then
          konj_peindre(verb)
      elseif(string.match(verb,"^inclure$")) then
          konj_conclure(verb)
      elseif(string.match(verb,"^inscrire$")) then
          konj_ecrire(verb)
      elseif(string.match(verb,"^instruire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^interdire$")) then
          konj_dire(verb)
      elseif(string.match(verb,"^introduire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^joindre$")) then
          konj_joindre(verb)
      elseif(string.match(verb,"^lire$")) then
          konj_lire(verb)
      elseif(string.match(verb,"^luire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^méconnaître$")) then
          konj_connaitre(verb)
      elseif(string.match(verb,"^méprendre$")) then
          konj_prendre(verb)
      elseif(string.match(verb,"^mettre$")) then
          konj_mettre(verb)
      elseif(string.match(verb,"^moudre$")) then
          konj_moudre(verb)
      elseif(string.match(verb,"^naître$")) then
          konj_naitre(verb)
      elseif(string.match(verb,"^nuire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^omettre$")) then
          konj_mettre(verb)
      elseif(string.match(verb,"^paraître$")) then
          konj_connaitre(verb)
      elseif(string.match(verb,"^peindre$")) then
          konj_peindre(verb)
      elseif(string.match(verb,"^permettre$")) then
          konj_mettre(verb)
      elseif(string.match(verb,"^plaindre$")) then
          konj_craindre(verb)
      elseif(string.match(verb,"^plaire$")) then
          konj_plaire(verb)
      elseif(string.match(verb,"^poursuivre$")) then
          konj_suivre(verb)
      elseif(string.match(verb,"^prédire$")) then
          konj_dire(verb)
      elseif(string.match(verb,"^prendre$")) then
          konj_prendre(verb)
      elseif(string.match(verb,"^prescrire$")) then
          konj_ecrire(verb)
      elseif(string.match(verb,"^produire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^promettre$")) then
          konj_mettre(verb)
      elseif(string.match(verb,"^reconnaître$")) then
          konj_connaitre(verb)
      elseif(string.match(verb,"^réduire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^rejoindre$")) then
          konj_joindre(verb)
      elseif(string.match(verb,"^résoudre$")) then
          konj_resoudre(verb)
      elseif(string.match(verb,"^rire$")) then
          konj_rire(verb)
      elseif(string.match(verb,"^satisfaire$")) then
          konj_faire(verb)
      elseif(string.match(verb,"^séduire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^sourire$")) then
          konj_rire(verb)
      elseif(string.match(verb,"^souscrire$")) then
          konj_ecrire(verb)
      elseif(string.match(verb,"^suffire$")) then
          konj_suffire(verb)
      elseif(string.match(verb,"^suivre$")) then
          konj_suivre(verb)
      elseif(string.match(verb,"^surprendre$")) then
          konj_prendre(verb)
      elseif(string.match(verb,"^survivre$")) then
          konj_vivre(verb)
      elseif(string.match(verb,"^taire$")) then
          konj_plaire(verb)
      elseif(string.match(verb,"^teindre$")) then
          konj_peindre(verb)
      elseif(string.match(verb,"^traduire$")) then
          konj_conduire(verb)
      elseif(string.match(verb,"^vaincre$")) then
          konj_vaincre(verb)
      elseif(string.match(verb,"^vivre$")) then
          konj_vivre(verb)

      -- sen några defekta verb
      elseif(string.match(verb,"^accroire$")) then
      	  konj_defektiv(verb)

      -- sen undantag enligt Bescherelle
      elseif(string.match(verb,"^embatre$")) then
          konj_battre(verb)
      elseif(string.match(verb,"prendre$")) then
          konj_prendre(verb)
      elseif(string.match(verb,"battre$")) then
          konj_battre(verb)
      elseif(string.match(verb,"croire$")) then
          konj_croire(verb)
      elseif(string.match(verb,"aindre$")) then
          konj_craindre(verb)
      elseif(string.match(verb,"eindre$")) then
          konj_peindre(verb)
      elseif(string.match(verb,"oindre$")) then
          konj_joindre(verb)
      elseif(string.match(verb,"mettre$")) then
          konj_mettre(verb)
      elseif(string.match(verb,"soudre$")) then
          konj_resoudre(verb)
      elseif(string.match(verb,"faire$")) then
          konj_faire(verb)
      elseif(string.match(verb,"crire$")) then
          konj_ecrire(verb)

      -- sen resterande undantag, enligt min egen tolkning
      -- notera att dessa sista ej kan vara i bokstavsordning
      -- ha istället längre före kortare
      elseif(string.match(verb,"^circoncire$")) then
          konj_suffire(verb)
      elseif(string.match(verb,"^renaître$")) then
          konj_naitre(verb)
      elseif(string.match(verb,"^frire$")) then
          konj_suffire(verb)
      elseif(string.match(verb,"^maudire$")) then
          konj_maudire(verb)
      elseif(string.match(verb,"paraître$")) then
          konj_connaitre(verb)
      elseif(string.match(verb,"confire$")) then
          konj_suffire(verb)
      elseif(string.match(verb,"croître$")) then
          konj_croitre(verb)
      elseif(string.match(verb,"coudre$")) then
          konj_coudre(verb)
      elseif(string.match(verb,"paître$")) then
          konj_paitre(verb)
      elseif(string.match(verb,"moudre$")) then
          konj_moudre(verb)
      elseif(string.match(verb,"plaire$")) then
          konj_plaire(verb)
      elseif(string.match(verb,"suivre$")) then
          konj_suivre(verb)
      elseif(string.match(verb,"boire$")) then
          konj_boire(verb)
      elseif(string.match(verb,"clore$")) then
          konj_clore(verb)
      elseif(string.match(verb,"clure$")) then
          konj_conclure(verb)
      elseif(string.match(verb,"vivre$")) then
          konj_vivre(verb)
      elseif(string.match(verb,"raire$")) then
          konj_traire(verb)
      elseif(string.match(verb,"dire$")) then
          konj_dire(verb)
      elseif(string.match(verb,"lire$")) then
          konj_lire(verb)
      elseif(string.match(verb,"uire$")) then
          konj_conduire(verb)

      -- Tredje konjugationens regelbundna
      else
          konj_re(verb)
      end
  end
  
  --- specialfallet "haïr", som varken slutar på "-er", "-ir" eller "-re"
  if(string.match(verb,"haïr$")) then
    konj_hair(verb)
  --- specialfallet "ouïr", som varken slutar på "-er", "-ir" eller "-re"
  elseif(string.match(verb,"ouïr$")) then
    -- konj_ouir(verb) -- TODO: skriv denna funktion
  end

  if(p) then
    if(string.match(p,"s$")) then
        p = p -- vissa slutar på "s" 
    else
        p = p.."s"
    end
    p = p.."e"
    p = p.."es"
  end
  
  return p
end
return export