local kemm={}

local function blot(lizherenn) -- Kemmadur dre vlotaat
  if lizherenn == "p" then
    return "b"
  elseif lizherenn == "P" then
    return "B"
  elseif lizherenn == "b" then
    return "v"
  elseif lizherenn == "B" then
    return "V"
  elseif lizherenn == "m" then
    return "v"
  elseif lizherenn == "M" then
    return "V"
  elseif lizherenn == "t" then
    return "d"
  elseif lizherenn == "T" then
    return "D"
  elseif lizherenn == "k" then
    return "g"
  elseif lizherenn == "K" then
    return "G"
  elseif lizherenn == "g" then
    return "c'h"
  elseif lizherenn == "G" then
    return "C'h"
  elseif lizherenn == "gw" then
    return "w"
  elseif lizherenn == "Gw" then
    return "W"
  elseif lizherenn == "gou" then
    return "ou"
  elseif lizherenn == "Gou" then
    return "Ou"
  else
    return lizherenn  -- Kemmadur ebet
  end
end

local function xwezh(lizherenn) -- Kemmadur dre c'hwezhiñ
  if lizherenn == "p" then
    return "f"
  elseif lizherenn == "P" then
    return "F"
  elseif lizherenn == "t" then
    return "z"
  elseif lizherenn == "T" then
    return "Z"
  elseif lizherenn == "k" then
    return "c'h"
  elseif lizherenn == "K" then
    return "C'h"
  else
    return lizherenn  -- Kemmadur ebet
  end
end

function kemm.goudeniver(frame) -- frame : niver, reizh, lizherenn
  if math.mod(frame.args[1],10)==0 or math.mod(frame.args[1],10)==5 or math.mod(frame.args[1],10)==6 or math.mod(frame.args[1],10)==7 or math.mod(frame.args[1],10)==8  or (math.mod(frame.args[1],100)-math.mod(frame.args[1],10))==10  or (math.mod(frame.args[1],100)-math.mod(frame.args[1],10))==70  or (math.mod(frame.args[1],100)-math.mod(frame.args[1],10))==90  or (math.mod(frame.args[1],10)==1 and frame.args[2]=="g" and frame.args[3]~="k" and frame.args[3]~="K") then
    return frame.args[3]
  elseif (math.mod(frame.args[1],10)==1 and frame.args[2]=="b") or math.mod(frame.args[1],10)==2 then
    return blot(frame.args[3])
  else
    return xwezh(frame.args[3])
  end
end

return kemm