Module:br-pronominal

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.

 Documentation[voir] [modifier] [historique] [purger]

Ce module permet de générer la forme pronominale d’un verbe en breton avec la mutation adéquate si nécessaire.

Il est utilisé dans le modèle {{lien pronominal}} pour lequel in a été créé.

Fonction utilisable dans un modèle ou dans une page

pronominal
affiche la forme pronominale du verbe donné en argument
  • {{#invoke:br-pronominal|pronominal|kavout}} affiche « en em gavout »
  • {{#invoke:br-pronominal|pronominal|soñjal}} affiche « en em soñjal »

--============================================================================--
-- Module:br-pronominal : génération de la forme pronominale d'un verbe en    --
--                        breton avec la mutation adéquate si nécessaire      --
--------------------------------------------------------------------------------
-- auteurs principaux : Yun                                                   --
-- licence :
--============================================================================--
local p={}

local function lenition(lettre) -- lénition - mutation adoucissante
  if lettre == "p" then
    return "b"
  elseif lettre == "b" then
    return "v"
  elseif lettre == "m" then
    return "v"
  elseif lettre == "t" then
    return "d"
  elseif lettre == "d" then
    return "z"
  elseif lettre == "k" then
    return "g"
  elseif lettre == "g" then
    return "cʼh"
  else
    return lettre  -- pas de mutation
  end
end

function p.pronominal(frame)
	local verbe = frame.args[1]
	if mw.ustring.sub(verbe,1,2) == "gw" then
		return "en em " .. mw.ustring.sub(verbe,2)
	elseif mw.ustring.sub(verbe,1,3) == "gou" and ( mw.ustring.sub(verbe,4,4) == "a" or mw.ustring.sub(verbe,4,4) == "e" or mw.ustring.sub(verbe,4,4) == "i ") then
		return "en em ou" .. mw.ustring.sub(verbe,4)
	else 
		return "en em " .. lenition(mw.ustring.sub(verbe,1,1)) .. mw.ustring.sub(verbe,2)
	end
end

return p