Module:br-pronominal
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 »
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis la page Module:br-pronominal/Documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
--============================================================================--
-- 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