Module:cy-nom-cs

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

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

Ce module a pour but d’afficher un tableau contenant les formes mutées au collectif et au sigulatif pour les noms gallois ayant un collectif et un singulatif.

Il utilise la fonction frame:getParent, il ne peut donc être appelé que par un modèle.

Voir le modèle {{cy-nom-cs}} pour la description des paramètres.


local p={}

local mut = require("Module:cy-mutation")

function ecritureLigne(txt,titre,c,collectif,s,singulatif)
	if c ~= collectif or s ~= singulatif then
		txt = txt ..
			'|-\n'..
			'! ' .. titre .. '\n'
		if c == collectif then
			txt = txt .. "| ''inchangé''\n"
		else
			txt = txt .. '| [[' .. c .. '#cy|' .. c .. ']]\n'
		end
		if s == singulatif then
			txt = txt .. "| ''inchangé''\n"
		else
			txt = txt .. '| [[' .. s .. '#cy|' .. s .. ']]\n'
		end
	end
	return txt
end

function p.boite(frame)
	local args = frame:getParent().args
	local collectif = args[1]
	local singulatif   = args[2]
	local lc, ls, nc, ns, sc, ss, hc, hs =
		nil, nil, nil, nil, nil, nil, nil, nil
	lc, nc, sc, hc = mut.mutations(collectif)
	ls, ns, ss, hs = mut.mutations(singulatif)
	local txt =
		'{| class="flextable"\n'..
		'| class="invisible" |\n'..
		'! Collectif\n'..
		'! Singulatif\n'..
		'|-\n'..
		'! Non muté\n'..
		'| [[' .. collectif .. '#cy|' .. collectif .. ']]\n'..
		'| [[' .. singulatif .. '#cy|' .. singulatif .. ']]\n'
	
	txt = ecritureLigne(txt,'Lénition',lc,collectif,ls,singulatif)
	txt = ecritureLigne(txt,'Nasalisation',nc,collectif,ns,singulatif)
	txt = ecritureLigne(txt,'Spirantisation',sc,collectif,ss,singulatif)
	txt = ecritureLigne(txt,'Prothèse h',hc,collectif,hs,singulatif,hp2)
	txt = txt .. '|}'
	if not(mw.ustring.match(txt,'Lénition') or
		mw.ustring.match(txt,'Nasalisation') or
		mw.ustring.match(txt,'Spirantisation') or
		mw.ustring.match(txt,'Prothèse h')) then
		txt =
			'{| class="flextable"\n'..
			'! Collectif\n' ..
			'! Singulatif\n'..
			'|-\n'..
			'| [[' .. collectif .. '#cy|' .. collectif .. ']]\n'..
			'| [[' .. singulatif .. '#cy|' .. singulatif .. ']]\n'..
			'|}'
	end
	return txt
end

return p