Module:Prononciacion

De Vouiquipèdia, l’enciclopèdia abada.

La documentation pour ce module peut être créée à Module:Prononciacion/doc

local p = {}

function p.prononciacion(frame) --récupère la prononciation telle qu'indiquée sur l'item
	local parent = frame:getParent(frame) --récupère les paramètres passés au modèle
	if (parent.args[2] and parent.args[2] ~= '') then --si le paramètre {{{2}}} existe (on présume que {{{1}}} existe du coup)
		return '<sup class="prononciacion noprint">[[:Fichiér:' .. parent.args[1] .. '|' .. parent.args[2] .. ']]</sup>' -- (fin de la fonction)
	end
	if (parent.args[1] and parent.args[1] ~= '') then --si le paramètre {{{1}}} existe — seul
		return '<sup class="prononciacion noprint">[[:Fichiér:' .. parent.args[1] .. '|Acutar]]</sup>' -- (fin de la fonction)
	end

	local entity = mw.wikibase.getEntity() --si aucun des paramètres n'existe, on charge l'item Wikidata associé à l'article
	if not entity then --si cet élément n'existe pas ajoute la page à la catégorie de demande (fin de la fonction)
		return "[[Catègorie:Demanda de prononciacion ôdiô]]"
	end

	local wikidataMod = require "Module:Wikidata"
	local pron_frp = wikidataMod.formatStatements({entity=entity, property='P443', qualifier='P407', qualifiervalue='Q150'}) --récupère la prononciation en français
	if pron_frp then
		return '<sup class="prononciacion noprint">[[:Fichiér:' .. pron_frp .. '|Acutar]]</sup>' --retourne la prononciation si elle a été trouvée (fin de la fonction)
	end
	local pron = wikidataMod.formatStatements({entity=entity, property='P443', rank='best', numval=1}) --récupère la prononciation tout court
	if pron then
		return '<sup class="prononciacion noprint">[[:Fichiér:' .. pron .. '|Acutar]]</sup>' --retourne la prononciation si elle a été trouvée (fin de la fonction)
	end
	return "[[Catègorie:Demanda de prononciacion ôdiô]]" --s'il n'y a décidément pas ajoute la page à la catégorie de demande (fin de la fonction)
end

return p