Module:Prononciation
Apparence
[voir] [modifier] [historique] [purger]
Utilisation
Ce module est utilisé par le modèle {{Prononciation}}.
Fonctions exportables :
prononciation()
– récupère le nom d'un unique fichier avec la propriété P443 sur Wikidata, avec la prononciation en français si disponible, la meilleure sinon, et ajoute la Catégorie:Demande de prononciation audio s'il n'y a rien.
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
mw.wikibase
: pour récupérer l'item ;Module:Wikidata
: pour récupérer les déclarations et les formater.
Exemples
Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de 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.
local p = {}
function p.prononciation(frame) --récupère la prononciation telle qu'indiquée sur l'item
local args = frame:getParent(frame).args --récupère les paramètres passés au modèle
local arg1 = args[1] and mw.text.trim(args[1]) or nil
local arg2 = args[2] and mw.text.trim(args[2]) or nil
if (arg2 and arg2 ~= '') then --si le paramètre {{{2}}} existe (on présume que {{{1}}} existe du coup)
return '<sup class="prononciation noprint">[[:Fichier:' .. arg1 .. '|' .. arg2 .. ']]</sup>' -- (fin de la fonction)
end
if (arg1 and arg1 ~= '') then --si le paramètre {{{1}}} existe — seul
return '<sup class="prononciation noprint">[[:Fichier:' .. arg1 .. '|Écouter]]</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:Demande de prononciation audio]]"
end
local wikidataMod = require "Module:Wikidata"
local pron_fr = wikidataMod.formatStatements({entity=entity, property='P443', qualifier='P407', qualifiervalue='Q150'}) --récupère la prononciation en français
if pron_fr then
return '<sup class="prononciation noprint">[[:Fichier:' .. pron_fr .. '|Écouter]]</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="prononciation noprint">[[:Fichier:' .. pron .. '|Écouter]]</sup>' --retourne la prononciation si elle a été trouvée (fin de la fonction)
end
return "[[Catégorie:Demande de prononciation audio]]" --s'il n'y a décidément pas ajoute la page à la catégorie de demande (fin de la fonction)
end
return p