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


Modul:fr-verb-artikel/dok

-- Denna modul tabulerar konjugationen för franska verb.
-- Modulen anropar [[Modul:fr-verb-konj]] som sköter själva konjugeringen.
-- Denna modul hanterar enbart den visuella framställningen av dessa.
-- Denna modul anropas i sin tur av en mall, just nu {{fr-verb-test}}.

-- Upphovsman och kontaktperson: [[Användare:Gabbe]]

local export = {}
local tabell = {}

local p=require("Modul:fr-verb-konj") -- för konjugeringarna
local glink=require("Modul:grammar-link") -- för motsvarigheten till {{g-cell}}

export.show = function ( argument )
  local artikelnamn = argument.args["artikelnamn"]

  q = p.konjugera(artikelnamn)
  
  -- följande tre rader används enbart i felsökningssyfte
  if (argument.args["enbartbnummer"] == "ja") then
  	return q["Bescherelle_nummer"]
  end

  -- hjälpverb: "avoir" eller "être" ?

  local auxil_verb = argument.args["hjälpverb"] -- främst användarens

  if (auxil_verb == "") then
  	auxil_verb = q["auxil"] -- annars modulens förslag
  end

  if (auxil_verb == "") then
  	auxil_verb = "avoir" -- annars avoir
  end

  -- ska det böjas opersonligt? (exempelvis "falloir")

  local opers = false -- normalfallet är nej, inte opersonlig

  -- vissa verb *kan* bara böjas opersonligt, då 
  -- är det nödvändigt
  if (q["impersonnel"]) then
  	opers = true
  elseif (argument.args["opers"] == "ja") then -- annars, vad begär användaren?
  	opers = true
  elseif (argument.args["opers"] == "j") then
  	opers = true
  end

  -- reflexivt? (exempelvis "se méfier")
  local reflexivt_verb = false

  if (q["reflex"]) then
  	reflexivt_verb = true
  elseif (argument.args["reflexivt"] == "ja") then -- annars, vad begär användaren?
  	reflexivt_verb = true
  elseif (argument.args["reflexivt"] == "j") then
  	reflexivt_verb = true
  end

  -- text om "betydelser"
  
  local betydelser_text = argument.args["betydelser"]

  -- hantera alternativformerna först

  displaytexts = {}

  local bojningsformer = {
  	'indikativ_present_1pers_sg',
  	'indikativ_present_2pers_sg', 
  	'indikativ_present_3pers_sg', 
  	'indikativ_present_1pers_pl', 
  	'indikativ_present_2pers_pl', 
  	'indikativ_present_3pers_pl', 

  	'indikativ_imparfait_1pers_sg',
  	'indikativ_imparfait_2pers_sg', 
  	'indikativ_imparfait_3pers_sg', 
  	'indikativ_imparfait_1pers_pl', 
  	'indikativ_imparfait_2pers_pl', 
  	'indikativ_imparfait_3pers_pl', 

  	'indikativ_passesimple_1pers_sg',
  	'indikativ_passesimple_2pers_sg', 
  	'indikativ_passesimple_3pers_sg', 
  	'indikativ_passesimple_1pers_pl', 
  	'indikativ_passesimple_2pers_pl', 
  	'indikativ_passesimple_3pers_pl', 

  	'indikativ_futur_1pers_sg',
  	'indikativ_futur_2pers_sg', 
  	'indikativ_futur_3pers_sg', 
  	'indikativ_futur_1pers_pl', 
  	'indikativ_futur_2pers_pl', 
  	'indikativ_futur_3pers_pl', 

  	'konjunktiv_present_1pers_sg',
  	'konjunktiv_present_2pers_sg', 
  	'konjunktiv_present_3pers_sg', 
  	'konjunktiv_present_1pers_pl', 
  	'konjunktiv_present_2pers_pl', 
  	'konjunktiv_present_3pers_pl', 

  	'konjunktiv_imparfait_1pers_sg',
  	'konjunktiv_imparfait_2pers_sg', 
  	'konjunktiv_imparfait_3pers_sg', 
  	'konjunktiv_imparfait_1pers_pl', 
  	'konjunktiv_imparfait_2pers_pl', 
  	'konjunktiv_imparfait_3pers_pl', 

  	'konditional_present_1pers_sg',
  	'konditional_present_2pers_sg', 
  	'konditional_present_3pers_sg', 
  	'konditional_present_1pers_pl', 
  	'konditional_present_2pers_pl', 
  	'konditional_present_3pers_pl', 

  	'imp_2pers_sg',
  	'imp_1pers_pl',
  	'imp_2pers_pl'
  }
  for bojningsformnummer = 1, 45 do
  	if (q[bojningsformer[bojningsformnummer].."_alt"] ~= "") then
  		if(q["fotnot"] ~= "") then
  			displaytexts[bojningsformer[bojningsformnummer]] = glink.link(q[bojningsformer[bojningsformnummer]],"infl","fr")..", "..glink.link(q[bojningsformer[bojningsformnummer].."_alt"],"infl","fr").."<sup>1</sup>"
  		else
  			displaytexts[bojningsformer[bojningsformnummer]] = glink.link(q[bojningsformer[bojningsformnummer]],"infl","fr")..", "..glink.link(q[bojningsformer[bojningsformnummer].."_alt"],"infl","fr")
  		end
  	else
  		displaytexts[bojningsformer[bojningsformnummer]] = glink.link(q[bojningsformer[bojningsformnummer]],"infl","fr")
  	end
  end
  displaytexts['perfpart'] = glink.link(q["perfpart"],"perfpart","fr")
  displaytexts['perfpart_m_pl'] = glink.link(q["perfpart_m_pl"],"perfpart","fr")
  displaytexts['perfpart_sg'] = glink.link(q["perfpart"],"perfpart","fr").." / "..glink.link(q["perfpart_f_sg"],"perfpart","fr")
  displaytexts['perfpart_pl'] = glink.link(q["perfpart_m_pl"],"perfpart","fr").." / "..glink.link(q["perfpart_f_pl"],"perfpart","fr")

  -- sen, själva tabellen

  table.insert(tabell,"")
  table.insert(tabell,"{| class=\"NavFrameContainer grammar-hide\"")
  table.insert(tabell,"|-")
  table.insert(tabell,"|<div class=\"NavFrame\">")
  if (betydelser_text ~= "") then
    table.insert(tabell,"<div class=\"NavHead\" style=\"text-align: center;\">Böjningar&nbsp;av&nbsp;''"..artikelnamn.."''<br> <i>"..betydelser_text.."</i></div>")
  else
    table.insert(tabell,"<div class=\"NavHead\" style=\"text-align: center;\">Böjningar&nbsp;av&nbsp;''"..artikelnamn.."''</div>")
  end
  table.insert(tabell,"<div class=\"NavContent\">")
  table.insert(tabell,"{| class=\"grammar template-fr-verb-er min\" cellspacing=\"0\" data-lang=\"fr\" data-h3=\"verb\"")
  if (betydelser_text ~= "") then
    table.insert(tabell,"!class=\"main\" rowspan=\"2\"|Böjningar&nbsp;av ''"..q["artikelnamn"].."&nbsp;"..betydelser_text.."''")
  else
    table.insert(tabell,"!class=\"main\" rowspan=\"2\"|Böjningar&nbsp;av ''"..q["artikelnamn"].."''")
  end
  if(opers) then
    table.insert(tabell,"!class=\"main\"|Personliga former")
  else
    table.insert(tabell,"!class=\"main\" colspan=\"6\"|Personliga former")
  end
  table.insert(tabell,"|-")
  if(opers) then
	table.insert(tabell,"!3:e pers. sing.")
  else
    table.insert(tabell,"!1:a pers. sing.")
    table.insert(tabell,"!2:a pers. sing.")
    table.insert(tabell,"!3:e pers. sing.")
    table.insert(tabell,"!1:a pers. plur.")
    table.insert(tabell,"!2:a pers. plur.")
    table.insert(tabell,"!3:e pers. plur.")
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!'''indikativ'''")
  if(opers) then
  	table.insert(tabell,"!il")
  else
    table.insert(tabell,"!je, j'")
    table.insert(tabell,"!tu")
    table.insert(tabell,"!il elle on")
    table.insert(tabell,"!nous")
    table.insert(tabell,"!vous")
    table.insert(tabell,"!ils elles")
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!présent <!-- presens -->")
  if(opers) then
    table.insert(tabell,"|"..displaytexts['indikativ_present_3pers_sg'])
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me "..displaytexts['indikativ_present_1pers_sg'])
    table.insert(tabell,"|te "..displaytexts['indikativ_present_2pers_sg'])
    table.insert(tabell,"|se "..displaytexts['indikativ_present_3pers_sg'])
    table.insert(tabell,"|nous "..displaytexts['indikativ_present_1pers_pl'])
    table.insert(tabell,"|vous "..displaytexts['indikativ_present_2pers_pl'])
    table.insert(tabell,"|se "..displaytexts['indikativ_present_3pers_pl'])
  else
    table.insert(tabell,"|"..displaytexts['indikativ_present_1pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_present_2pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_present_3pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_present_1pers_pl'])
    table.insert(tabell,"|"..displaytexts['indikativ_present_2pers_pl'])
    table.insert(tabell,"|"..displaytexts['indikativ_present_3pers_pl'])
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!imparfait <!-- imperfekt, kontinuerligt (jfr. engelskans \"I was ...ing\") -->")
  if(opers) then
  	table.insert(tabell,"|"..displaytexts['indikativ_imparfait_3pers_sg'])
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me "..displaytexts['indikativ_imparfait_1pers_sg'])
    table.insert(tabell,"|te "..displaytexts['indikativ_imparfait_2pers_sg'])
    table.insert(tabell,"|se "..displaytexts['indikativ_imparfait_3pers_sg'])
    table.insert(tabell,"|nous "..displaytexts['indikativ_imparfait_1pers_pl'])
    table.insert(tabell,"|vous "..displaytexts['indikativ_imparfait_2pers_pl'])
    table.insert(tabell,"|se "..displaytexts['indikativ_imparfait_3pers_pl'])
  else
    table.insert(tabell,"|"..displaytexts['indikativ_imparfait_1pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_imparfait_2pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_imparfait_3pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_imparfait_1pers_pl'])
    table.insert(tabell,"|"..displaytexts['indikativ_imparfait_2pers_pl'])
    table.insert(tabell,"|"..displaytexts['indikativ_imparfait_3pers_pl'])
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!passé simple <!-- preteritum -->")
  if(opers) then
  	table.insert(tabell,"|"..displaytexts['indikativ_passesimple_3pers_sg'])
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me "..displaytexts['indikativ_passesimple_1pers_sg'])
    table.insert(tabell,"|te "..displaytexts['indikativ_passesimple_2pers_sg'])
    table.insert(tabell,"|se "..displaytexts['indikativ_passesimple_3pers_sg'])
    table.insert(tabell,"|nous "..displaytexts['indikativ_passesimple_1pers_pl'])
    table.insert(tabell,"|vous "..displaytexts['indikativ_passesimple_2pers_pl'])
    table.insert(tabell,"|se "..displaytexts['indikativ_passesimple_3pers_pl'])
  else
    table.insert(tabell,"|"..displaytexts['indikativ_passesimple_1pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_passesimple_2pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_passesimple_3pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_passesimple_1pers_pl'])
    table.insert(tabell,"|"..displaytexts['indikativ_passesimple_2pers_pl'])
    table.insert(tabell,"|"..displaytexts['indikativ_passesimple_3pers_pl'])
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!futur simple <!-- futurum -->")
  if(opers) then
    table.insert(tabell,"|"..displaytexts['indikativ_futur_3pers_sg'])
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me "..displaytexts['indikativ_futur_1pers_sg'])
    table.insert(tabell,"|te "..displaytexts['indikativ_futur_2pers_sg'])
    table.insert(tabell,"|se "..displaytexts['indikativ_futur_3pers_sg'])
    table.insert(tabell,"|nous "..displaytexts['indikativ_futur_1pers_pl'])
    table.insert(tabell,"|vous "..displaytexts['indikativ_futur_2pers_pl'])
    table.insert(tabell,"|se "..displaytexts['indikativ_futur_3pers_pl'])
  else
    table.insert(tabell,"|"..displaytexts['indikativ_futur_1pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_futur_2pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_futur_3pers_sg'])
    table.insert(tabell,"|"..displaytexts['indikativ_futur_1pers_pl'])
    table.insert(tabell,"|"..displaytexts['indikativ_futur_2pers_pl'])
    table.insert(tabell,"|"..displaytexts['indikativ_futur_3pers_pl'])
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!passé composé <!-- perfekt -->")
  if (opers) then
  	table.insert(tabell,"|a "..displaytexts['perfpart'])
  elseif(q["perfpart"] == "") then
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me suis "..displaytexts['perfpart'])
    table.insert(tabell,"|t’es "..displaytexts['perfpart'])
    table.insert(tabell,"|s’est "..displaytexts['perfpart'])
    table.insert(tabell,"|nous sommes "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|vous êtes "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|se sont "..displaytexts['perfpart_m_pl'])
  elseif (auxil_verb == "avoir") then
    table.insert(tabell,"|ai "..displaytexts['perfpart'])
    table.insert(tabell,"|as "..displaytexts['perfpart'])
    table.insert(tabell,"|a "..displaytexts['perfpart'])
    table.insert(tabell,"|avons "..displaytexts['perfpart'])
    table.insert(tabell,"|avez "..displaytexts['perfpart'])
    table.insert(tabell,"|ont "..displaytexts['perfpart'])
  elseif (auxil_verb == "être") then
    table.insert(tabell,"|suis "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|es "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|est "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|sommes "..displaytexts['perfpart'].."(e)s")
    table.insert(tabell,"|êtes "..displaytexts['perfpart'].."(e)(s)")
    table.insert(tabell,"|sont "..displaytexts['perfpart'].."(e)s")
  end
  table.insert(tabell,"|-")
    table.insert(tabell,"!passé antérieur <!-- egentligen samma sak som pluskvamperfekt -->")
  if (opers) then
    table.insert(tabell,"|eut "..displaytexts['perfpart'])
  elseif(q["perfpart"] == "") then
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me fus "..displaytexts['perfpart'])
    table.insert(tabell,"|te fus "..displaytexts['perfpart'])
    table.insert(tabell,"|se fut "..displaytexts['perfpart'])
    table.insert(tabell,"|nous fûmes "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|vous fûtes "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|se furent "..displaytexts['perfpart_m_pl'])
  elseif (auxil_verb == "avoir") then
    table.insert(tabell,"|eus "..displaytexts['perfpart'])
    table.insert(tabell,"|eus "..displaytexts['perfpart'])
    table.insert(tabell,"|eut "..displaytexts['perfpart'])
    table.insert(tabell,"|eûmes "..displaytexts['perfpart'])
    table.insert(tabell,"|eûtes "..displaytexts['perfpart'])
    table.insert(tabell,"|eurent "..displaytexts['perfpart'])
  elseif (auxil_verb == "être") then
    table.insert(tabell,"|fus "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|fus "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|fut "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|fûmes "..displaytexts['perfpart'].."(e)s")
    table.insert(tabell,"|fûtes "..displaytexts['perfpart'].."(e)(s)")
    table.insert(tabell,"|furent "..displaytexts['perfpart'].."(e)s")
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!plus-que-parfait <!-- pluskvamperfekt -->")
  if (opers) then
  	table.insert(tabell,"|avait "..displaytexts['perfpart'])
  elseif(q["perfpart"] == "") then
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  elseif(reflexivt_verb) then
    table.insert(tabell,"|m’étais "..displaytexts['perfpart'])
    table.insert(tabell,"|t’étais "..displaytexts['perfpart'])
    table.insert(tabell,"|s’était "..displaytexts['perfpart'])
    table.insert(tabell,"|nous étions "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|vous étiez "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|s’étaient "..displaytexts['perfpart_m_pl'])
  elseif (auxil_verb == "avoir") then
    table.insert(tabell,"|avais "..displaytexts['perfpart'])
    table.insert(tabell,"|avais "..displaytexts['perfpart'])
    table.insert(tabell,"|avait "..displaytexts['perfpart'])
    table.insert(tabell,"|avions "..displaytexts['perfpart'])
    table.insert(tabell,"|aviez "..displaytexts['perfpart'])
    table.insert(tabell,"|avaient "..displaytexts['perfpart'])
  elseif (auxil_verb == "être") then
    table.insert(tabell,"|étais "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|étais "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|était "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|étions "..displaytexts['perfpart'].."(e)s")
    table.insert(tabell,"|étiez "..displaytexts['perfpart'].."(e)(s)")
    table.insert(tabell,"|étaient "..displaytexts['perfpart'].."(e)s")
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!futur antérieur <!-- futurumperfekt (\"jag ska ha ...t\") -->")
  if (opers) then
    table.insert(tabell,"|aura "..displaytexts['perfpart'])
  elseif(q["perfpart"] == "") then
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me serai "..displaytexts['perfpart'])
    table.insert(tabell,"|te seras "..displaytexts['perfpart'])
    table.insert(tabell,"|se sera "..displaytexts['perfpart'])
    table.insert(tabell,"|nous serons "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|vous serez "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|se seront "..displaytexts['perfpart_m_pl'])
  elseif (auxil_verb == "avoir") then
    table.insert(tabell,"|aurai "..displaytexts['perfpart'])
    table.insert(tabell,"|auras "..displaytexts['perfpart'])
    table.insert(tabell,"|aura "..displaytexts['perfpart'])
    table.insert(tabell,"|aurons "..displaytexts['perfpart'])
    table.insert(tabell,"|aurez "..displaytexts['perfpart'])
    table.insert(tabell,"|auront "..displaytexts['perfpart'])
  elseif (auxil_verb == "être") then
    table.insert(tabell,"|serai "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|seras "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|sera "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|serons "..displaytexts['perfpart'].."(e)s")
    table.insert(tabell,"|serez "..displaytexts['perfpart'].."(e)(s)")
    table.insert(tabell,"|seront "..displaytexts['perfpart'].."(e)s")
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!'''konjunktiv'''")
  if (opers) then
  	table.insert(tabell,"!qu'il")
  else
    table.insert(tabell,"!que je, que j'")
    table.insert(tabell,"!que tu")
    table.insert(tabell,"!qu'il qu'elle qu'on")
    table.insert(tabell,"!que nous")
    table.insert(tabell,"!que vous")
    table.insert(tabell,"!qu'ils qu'elles")
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!présent <!-- presens -->")
  if (opers) then
    table.insert(tabell,"|"..displaytexts['konjunktiv_present_3pers_sg'])
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me "..displaytexts['konjunktiv_present_1pers_sg'])
    table.insert(tabell,"|te "..displaytexts['konjunktiv_present_2pers_sg'])
    table.insert(tabell,"|se "..displaytexts['konjunktiv_present_3pers_sg'])
    table.insert(tabell,"|nous "..displaytexts['konjunktiv_present_1pers_pl'])
    table.insert(tabell,"|vous "..displaytexts['konjunktiv_present_2pers_pl'])
    table.insert(tabell,"|se "..displaytexts['konjunktiv_present_3pers_pl'])
  else
    table.insert(tabell,"|"..displaytexts['konjunktiv_present_1pers_sg'])
    table.insert(tabell,"|"..displaytexts['konjunktiv_present_2pers_sg'])
    table.insert(tabell,"|"..displaytexts['konjunktiv_present_3pers_sg'])
    table.insert(tabell,"|"..displaytexts['konjunktiv_present_1pers_pl'])
    table.insert(tabell,"|"..displaytexts['konjunktiv_present_2pers_pl'])
    table.insert(tabell,"|"..displaytexts['konjunktiv_present_3pers_pl'])
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!imparfait <!-- imperfekt -->")
  if (opers) then
  	table.insert(tabell,"|"..displaytexts['konjunktiv_imparfait_3pers_sg'])
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me "..displaytexts['konjunktiv_imparfait_1pers_sg'])
    table.insert(tabell,"|te "..displaytexts['konjunktiv_imparfait_2pers_sg'])
    table.insert(tabell,"|se "..displaytexts['konjunktiv_imparfait_3pers_sg'])
    table.insert(tabell,"|nous "..displaytexts['konjunktiv_imparfait_1pers_pl'])
    table.insert(tabell,"|vous "..displaytexts['konjunktiv_imparfait_2pers_pl'])
    table.insert(tabell,"|se "..displaytexts['konjunktiv_imparfait_3pers_pl'])
  else
    table.insert(tabell,"|"..displaytexts['konjunktiv_imparfait_1pers_sg'])
    table.insert(tabell,"|"..displaytexts['konjunktiv_imparfait_2pers_sg'])
    table.insert(tabell,"|"..displaytexts['konjunktiv_imparfait_3pers_sg'])
    table.insert(tabell,"|"..displaytexts['konjunktiv_imparfait_1pers_pl'])
    table.insert(tabell,"|"..displaytexts['konjunktiv_imparfait_2pers_pl'])
    table.insert(tabell,"|"..displaytexts['konjunktiv_imparfait_3pers_pl'])
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!passé <!-- preteritum -->")
  if (opers) then
  	table.insert(tabell,"|ait "..displaytexts['perfpart'])
  elseif(q["perfpart"] == "") then
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me sois "..displaytexts['perfpart'])
    table.insert(tabell,"|te sois "..displaytexts['perfpart'])
    table.insert(tabell,"|se soit "..displaytexts['perfpart'])
    table.insert(tabell,"|nous soyons "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|vous soyez "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|se soient "..displaytexts['perfpart_m_pl'])
  elseif (auxil_verb == "avoir") then
    table.insert(tabell,"|aie "..displaytexts['perfpart'])
    table.insert(tabell,"|aies "..displaytexts['perfpart'])
    table.insert(tabell,"|ait "..displaytexts['perfpart'])
    table.insert(tabell,"|ayons "..displaytexts['perfpart'])
    table.insert(tabell,"|ayez "..displaytexts['perfpart'])
    table.insert(tabell,"|aient "..displaytexts['perfpart'])
  elseif (auxil_verb == "être") then
    table.insert(tabell,"|sois "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|sois "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|soit "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|soyons "..displaytexts['perfpart'].."(e)s")
    table.insert(tabell,"|soyez "..displaytexts['perfpart'].."(e)(s)")
    table.insert(tabell,"|soient "..displaytexts['perfpart'].."(e)s")
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!plus-que-parfait <!-- pluskvamperfekt -->")
  if (opers) then
  	table.insert(tabell,"|eût "..displaytexts['perfpart'])
  elseif(q["perfpart"] == "") then
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  elseif(reflexivt_verb) then
    table.insert(tabell,"|me fusse "..displaytexts['perfpart'])
    table.insert(tabell,"|te fusses "..displaytexts['perfpart'])
    table.insert(tabell,"|se fût "..displaytexts['perfpart'])
    table.insert(tabell,"|nous fussions "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|vous fussiez "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|se fussent "..displaytexts['perfpart_m_pl'])
  elseif (auxil_verb == "avoir") then
    table.insert(tabell,"|eusse "..displaytexts['perfpart'])
    table.insert(tabell,"|eusses "..displaytexts['perfpart'])
    table.insert(tabell,"|eût "..displaytexts['perfpart'])
    table.insert(tabell,"|eussions "..displaytexts['perfpart'])
    table.insert(tabell,"|eussiez "..displaytexts['perfpart'])
    table.insert(tabell,"|eussent "..displaytexts['perfpart'])
  elseif (auxil_verb == "être") then
    table.insert(tabell,"|fusse "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|fusses "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|fût "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|fussions "..displaytexts['perfpart'].."(e)s")
    table.insert(tabell,"|fussiez "..displaytexts['perfpart'].."(e)(s)")
    table.insert(tabell,"|fussent "..displaytexts['perfpart'].."(e)s")
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!'''konditionalis'''")
  if (opers) then
  	table.insert(tabell,"!il elle on")
  else
    table.insert(tabell,"!je, j'")
    table.insert(tabell,"!tu")
    table.insert(tabell,"!il elle on")
    table.insert(tabell,"!nous")
    table.insert(tabell,"!vous")
    table.insert(tabell,"!ils elles")
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!présent <!-- presens -->")
  if (opers) then
  	table.insert(tabell,"|"..displaytexts['konditional_present_3pers_sg'])
  elseif (reflexivt_verb) then
  	table.insert(tabell,"|me "..displaytexts['konditional_present_1pers_sg'])
    table.insert(tabell,"|te "..displaytexts['konditional_present_2pers_sg'])
    table.insert(tabell,"|se "..displaytexts['konditional_present_3pers_sg'])
    table.insert(tabell,"|nous "..displaytexts['konditional_present_1pers_pl'])
    table.insert(tabell,"|vous "..displaytexts['konditional_present_2pers_pl'])
    table.insert(tabell,"|se "..displaytexts['konditional_present_3pers_pl'])
  else
  	table.insert(tabell,"|"..displaytexts['konditional_present_1pers_sg'])
    table.insert(tabell,"|"..displaytexts['konditional_present_2pers_sg'])
    table.insert(tabell,"|"..displaytexts['konditional_present_3pers_sg'])
    table.insert(tabell,"|"..displaytexts['konditional_present_1pers_pl'])
    table.insert(tabell,"|"..displaytexts['konditional_present_2pers_pl'])
    table.insert(tabell,"|"..displaytexts['konditional_present_3pers_pl'])
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!passé 1<sup>re</sup> forme <!-- preteritum, 1:a formen -->")
  if (opers) then
  	table.insert(tabell,"|aurait "..displaytexts['perfpart'])
  elseif(q["perfpart"] == "") then
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  elseif (reflexivt_verb) then
    table.insert(tabell,"|me serais "..displaytexts['perfpart'])
    table.insert(tabell,"|te serais "..displaytexts['perfpart'])
    table.insert(tabell,"|se serait "..displaytexts['perfpart'])
    table.insert(tabell,"|nous serions "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|vous seriez "..displaytexts['perfpart_m_pl'])
    table.insert(tabell,"|se seraient "..displaytexts['perfpart_m_pl'])
  elseif (auxil_verb == "avoir") then
    table.insert(tabell,"|aurais "..displaytexts['perfpart'])
    table.insert(tabell,"|aurais "..displaytexts['perfpart'])
    table.insert(tabell,"|aurait "..displaytexts['perfpart'])
    table.insert(tabell,"|aurions "..displaytexts['perfpart'])
    table.insert(tabell,"|auriez "..displaytexts['perfpart'])
    table.insert(tabell,"|auraient "..displaytexts['perfpart'])
  elseif (auxil_verb == "être") then
    table.insert(tabell,"|serais "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|serais "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|serait "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|serions "..displaytexts['perfpart'].."(e)s")
    table.insert(tabell,"|seriez "..displaytexts['perfpart'].."(e)(s)")
    table.insert(tabell,"|seraient "..displaytexts['perfpart'].."(e)s")
  end
  table.insert(tabell,"|-")
  table.insert(tabell,"!passé 2<sup>de</sup> forme <!-- preteritum, 2:a formen -->")
  if (opers) then
  	table.insert(tabell,"|eût "..displaytexts['perfpart'])
  elseif(q["perfpart"] == "") then
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  	table.insert(tabell,"|")
  elseif (auxil_verb == "avoir") then
    table.insert(tabell,"|eusse "..displaytexts['perfpart'])
    table.insert(tabell,"|eusses "..displaytexts['perfpart'])
    table.insert(tabell,"|eût "..displaytexts['perfpart'])
    table.insert(tabell,"|eussions "..displaytexts['perfpart'])
    table.insert(tabell,"|eussiez "..displaytexts['perfpart'])
    table.insert(tabell,"|eussent "..displaytexts['perfpart'])
  elseif (auxil_verb == "être") then
    table.insert(tabell,"|fusse "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|fusses "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|fût "..displaytexts['perfpart'].."(e)")
    table.insert(tabell,"|fussions "..displaytexts['perfpart'].."(e)s")
    table.insert(tabell,"|fussiez "..displaytexts['perfpart'].."(e)(s)")
    table.insert(tabell,"|fussent "..displaytexts['perfpart'].."(e)s")
  end
  table.insert(tabell,"|-")
  if (not opers) then
	table.insert(tabell,"!'''imperativ'''")
    table.insert(tabell,"!")
    table.insert(tabell,"!(tu)")
    table.insert(tabell,"!")
    table.insert(tabell,"!(nous)")
    table.insert(tabell,"!(vous)")
    table.insert(tabell,"!")
    table.insert(tabell,"|-")
    table.insert(tabell,"!présent <!-- presens -->")
    if(reflexivt_verb) then
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|"..displaytexts['imp_2pers_sg'].."-toi")
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|"..displaytexts['imp_1pers_pl'].."-nous")
      table.insert(tabell,"|"..displaytexts['imp_2pers_pl'].."-vous")
      table.insert(tabell,"|&nbsp;")
    else
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|"..displaytexts['imp_2pers_sg'])
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|"..displaytexts['imp_1pers_pl'])
      table.insert(tabell,"|"..displaytexts['imp_2pers_pl'])
      table.insert(tabell,"|&nbsp;")
    end
    table.insert(tabell,"|-")
    table.insert(tabell,"!passé <!-- preteritum -->")
    if (q["perfpart"] == "") then
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|")
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|")
      table.insert(tabell,"|")
      table.insert(tabell,"|&nbsp;")
    elseif (reflexivt_verb) then
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|")
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|")
      table.insert(tabell,"|")
      table.insert(tabell,"|&nbsp;")
    elseif (auxil_verb == "avoir") then
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|aie "..displaytexts['perfpart'])
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|ayons "..displaytexts['perfpart'])
      table.insert(tabell,"|ayez "..displaytexts['perfpart'])
      table.insert(tabell,"|&nbsp;")
    elseif (auxil_verb == "être") then
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|sois "..displaytexts['perfpart'].."(e)")
      table.insert(tabell,"|&nbsp;")
      table.insert(tabell,"|soyons "..displaytexts['perfpart'].."(e)s")
      table.insert(tabell,"|soyez "..displaytexts['perfpart'].."(e)(s)")
      table.insert(tabell,"|&nbsp;")
    end
    table.insert(tabell,"|-")
  end
  table.insert(tabell,"!class=\"main\" colspan=7|Opersonliga former")
  table.insert(tabell,"|-")
  if (opers) then
  	table.insert(tabell,"!infinitif présent <!-- presensinfinitiv -->")
  	table.insert(tabell,"|"..glink.link(q["verb"],"infl","fr"))
    table.insert(tabell,"|-")
    table.insert(tabell,"!participe présent <!-- presensparticip -->")
    table.insert(tabell,"|"..glink.link(q["prespart"],"prespart","fr"))
    table.insert(tabell,"|-")
    table.insert(tabell,"!infinitif passé <!-- preterituminfinitiv -->")
    table.insert(tabell,"|avoir "..displaytexts['perfpart'])
    table.insert(tabell,"|-")
    table.insert(tabell,"!participe passé<!-- perfektparticip -->")
    table.insert(tabell,"|"..displaytexts['perfpart'])
    table.insert(tabell,"|-")
    table.insert(tabell,"!gérondif présent <!-- presensgerundium -->")
    table.insert(tabell,"|en "..glink.link(q["prespart"],"prespart","fr"))
    table.insert(tabell,"|-")
    table.insert(tabell,"!gérondif passé <!-- preteritumgerundium -->")
    table.insert(tabell,"|en ayant "..displaytexts['perfpart'])
    table.insert(tabell,"|-")
    table.insert(tabell,"!participe passé <!-- perfektparticip -->")
    table.insert(tabell,"|ayant "..displaytexts['perfpart'])
  else
    table.insert(tabell,"!infinitif présent <!-- presensinfinitiv -->")
    table.insert(tabell,"|colspan=2|"..glink.link(q["artikelnamn"],"infl","fr"))
    table.insert(tabell,"!colspan=2|participe présent <!-- presensparticip -->")
    table.insert(tabell,"|colspan=2|"..glink.link(q["prespart"],"prespart","fr"))
    table.insert(tabell,"|-")
    table.insert(tabell,"!infinitif passé <!-- preterituminfinitiv -->")
    if(q["perfpart"] == "") then
        table.insert(tabell,"|colspan=2|")
    elseif (auxil_verb == "avoir") then
      table.insert(tabell,"|colspan=2|avoir "..displaytexts['perfpart'])
    elseif (auxil_verb == "être") then
      table.insert(tabell,"|colspan=2|être "..displaytexts['perfpart'].."(e)(s)")
    end
    table.insert(tabell,"!colspan=2|participe passé<!-- perfektparticip -->, sing mask / fem")
    table.insert(tabell,"|colspan=2|"..displaytexts['perfpart_sg'])
    table.insert(tabell,"|-")
    table.insert(tabell,"!gérondif présent <!-- presensgerundium -->")
    if(q["perfpart"] == "") then
        table.insert(tabell,"|colspan=2|")
    else
        table.insert(tabell,"|colspan=2|en "..glink.link(q["prespart"],"prespart","fr"))
    end
    table.insert(tabell,"!colspan=2|participe passé<!-- perfektparticip -->, plur mask / fem")
    table.insert(tabell,"|colspan=2|"..displaytexts['perfpart_pl'])
    table.insert(tabell,"|-")
    table.insert(tabell,"!gérondif passé <!-- preteritumgerundium -->")
    if(q["perfpart"] == "") then
        table.insert(tabell,"|colspan=2|")
    elseif (auxil_verb == "avoir") then
      table.insert(tabell,"|colspan=2|en ayant "..displaytexts['perfpart'])
    elseif (auxil_verb == "être") then
      table.insert(tabell,"|colspan=2|en étant "..displaytexts['perfpart'].."(e)(s)")
    end
    table.insert(tabell,"!colspan=2|participe passé <!-- perfektparticip -->")
    if(q["perfpart"] == "") then
        table.insert(tabell,"|colspan=2|")
    elseif (auxil_verb == "avoir") then
      table.insert(tabell,"|colspan=2|ayant "..displaytexts['perfpart'])
    elseif (auxil_verb == "être") then
      table.insert(tabell,"|colspan=2|étant "..displaytexts['perfpart'].."(e)(s)")
    end
  end
  if(q["fotnot"] ~= "") then
    table.insert(tabell,"<p>&#32;")
    table.insert(tabell,"</p>")
    table.insert(tabell,"</td></tr>")
    table.insert(tabell,"<tr>")
    -- table.insert(tabell,"<td colspan=\"7\" class=\"note\"><div><table><tbody><tr>") -- <tbody> onödig?
    table.insert(tabell,"<td colspan=\"7\" class=\"note\"><div><table><tr>")
    table.insert(tabell,"<th>Not:</th>")
    table.insert(tabell,"<td>")
    table.insert(tabell,"<ol><li>"..q["fotnot"].."</li></ol>")
    table.insert(tabell,"</td>")
    -- table.insert(tabell,"</tr></tbody></table></div>") -- </tbody> onödig?
    table.insert(tabell,"</tr></table></div>")
  end
  table.insert(tabell,"|}")
  table.insert(tabell,"</div></div>")
  table.insert(tabell,"|}")

utskrift = table.concat(tabell, '\n')
return utskrift
--return tabell

end

return export