Module:Drapeau/Bac à sable
Apparence
[voir] [modifier] [historique] [purger]
Exemples
[modifier le code]Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.
code | rendu | modèle |
---|---|---|
{{#Invoke:Drapeau | pays }} | Aucun pays paramétré | ????? |
{{#Invoke:Drapeau | pays | France }} | France | France |
{{#Invoke:Drapeau | pays | Égypte}} | Égypte | Égypte |
{{#Invoke:Drapeau | pays | Belgique}} | Belgique | Belgique |
{{#Invoke:Drapeau | pays | Népal}} | Népal | Népal |
{{#Invoke:Drapeau | pays | Équateur}} | Équateur | Équateur |
{{#Invoke:Drapeau | pays | Émirats arabes unis}} | Émirats arabes unis | Émirats arabes unis |
{{#Invoke:Drapeau | pays | États-Unis}} | États-Unis | États-Unis |
{{#Invoke:Drapeau | pays | Bordurie}} | Bordurie | ????? |
{{#Invoke:Drapeau | pays | FRA}} {{#Invoke:Drapeau | pays | CIO=FRA}} |
France | France |
{{#Invoke:Drapeau | pays | CIO=UAE}} | Émirats arabes unis | Émirats arabes unis |
{{#Invoke:Drapeau | pays | ISO=ARE}} | Émirats arabes unis | - |
{{#Invoke:Drapeau | pays | France |align=right}} | France | France |
{{#Invoke:Drapeau | pays | France |lien=non}} | ||
{{#Invoke:Drapeau | pays | France |domaine=football}} | France | France |
{{#Invoke:Drapeau | pays | France |domaine=Marine de guerre}} | France | France |
{{#Invoke:Drapeau | pays | Égypte |domaine=Marine de guerre}} | Égypte | Égypte |
{{#Invoke:Drapeau | pays | Royaume-Uni |domaine=Marine de guerre}} | Royaume-Uni | Royaume-Uni |
{{#Invoke:Drapeau | pays | France |domaine=JO}} | France | France |
{{#Invoke:Drapeau | pays | France |domaine=JO CIO}} | FRA | FRA |
{{#Invoke:Drapeau | pays|France|cible=[[Laurent Jalabert]]}} | Laurent Jalabert (France) | Laurent Jalabert (France) |
{{#Invoke:Drapeau | pays|France|cible=[[Laurent Jalabert]]|domaine=}} | Laurent Jalabert | Laurent Jalabert (France) |
{{#Invoke:Drapeau | pays|France|2000|domaine=JO CIO|cible=[[Tony Estanguet]]}} | Tony Estanguet (FRA) | Tony Estanguet (FRA) |
{{#Invoke:Drapeau | pays | France | année=1820}} | France | France |
{{#Invoke:Drapeau | pays | France |domaine=football|compétition=en|édition=2000}} | France | France |
{{#Invoke:Drapeau | pays | France |domaine=compétition|compétition=jo|édition=2000}} | France | France |
{{#Invoke:Drapeau | pays | France |domaine=compétition|compétition=jo|édition=1992}} | France | France |
{{#Invoke:Drapeau | pays | France |domaine=compétition|compétition=jo|édition=ete1992}} | France | France |
{{#Invoke:Drapeau | pays | France |domaine=handball|compétition=jo|édition=2012}} | France | France |
{{#Invoke:Drapeau | pays | France |domaine=pelote basque}} | France | France |
Syntaxe | Aperçu | Aperçu |
---|---|---|
{{drapeau2|Belgique|t=1}}
|
Belgique | Belgique |
{{drapeau2|Égypte|t=1}}
|
Égypte | Égypte |
{{drapeau2|France|t=1}}
|
France | France |
{{drapeau2|CIO=ISV|t=1}}
|
Îles Vierges des États-Unis | Îles Vierges des États-Unis |
{{drapeau2|Népal|t=1}}
|
Népal | Népal |
Domaines paramétrés
[modifier le code]code | descriptif | exemple France | exemple Belgique | exemple États-Unis |
---|---|---|---|---|
gentileFS |
lien vers la nationalité | Française | Belge | Américaine |
football17 |
lien vers la sélection nationale de football des moins de 17 ans masculin | France | Belgique | États-Unis |
waterpoloF |
lien vers la sélection nationale de water-polo féminin | France | Belgique | États-Unis |
pelotebasque |
lien vers la sélection nationale de pelote basque masculine | France | Belgique | États-Unis |
curling |
lien vers la sélection nationale de curling | France | Belgique | États-Unis |
football20 |
lien vers la sélection nationale de football des moins de 20 ans masculin | France | Belgique | États-Unis |
defaut |
article sur le pays | France | Belgique | États-Unis |
rugby7 |
lien versla sélection nationale de rugby à sept masculin | France | Belgique | États-Unis |
gentileFP |
lien vers la nationalité | Françaises | Belges | Américaines |
rugby13 |
lien vers la sélection nationale de rugby à XIII masculin | France | Belgique | États-Unis |
footballaustralien |
lien vers la sélection nationale de football australien | France | Belgique | États-Unis |
gentileMP |
lien vers la nationalité | Français | Belges | Américains |
sportcat |
catégorie sur le sport par nation | France | Belgique | États-Unis |
pelotebasqueF |
lien vers la sélection nationale de pelote basque féminine | France | Belgique | États-Unis |
formelongue |
lien vers le pays sous la forme longue | République française | Royaume de Belgique | États-Unis d'Amérique |
waterpolo |
lien vers la sélection nationale de water-polo masculin | France | Belgique | États-Unis |
cyclismesurpiste |
lien vers la sélection nationale de cyclisme sur piste masculin | France | Belgique | États-Unis |
volleyballF |
lien vers la sélection nationale de volley-ball féminin | France | Belgique | États-Unis |
volleyball |
lien vers la sélection nationale de volley-ball masculin | France | Belgique | États-Unis |
tennisF |
lien vers la sélection nationale de tennis de Fed Cup | France | Belgique | États-Unis |
jo |
lien vers la délégation olympique | France | Belgique | États-Unis |
drapeau |
label du drapeau | Drapeau de la France | Drapeau de la Belgique | Drapeau des États-Unis |
futsalF |
lien vers la sélection nationale de futsal féminin | France | Belgique | États-Unis |
cyclismesurrouteF |
lien vers la sélection nationale de cyclisme sur route féminin | France | Belgique | États-Unis |
rugbyF |
lien vers la sélection nationale de rugby à XV féminin | France | Belgique | États-Unis |
gymnastiqueF |
lien vers la sélection nationale de gymnastique artistique féminine | France | Belgique | États-Unis |
basketball |
lien vers la sélection nationale de basket-ball masculin | France | Belgique | États-Unis |
para |
lien vers la délégation paralympique | France | Belgique | États-Unis |
joj |
lien vers la délégation olympique de la jeunesse | France | Belgique | États-Unis |
hockeysurgazon |
lien vers la sélection nationale de hockey sur gazon masculin | France | Belgique | États-Unis |
footballF |
lien vers la sélection nationale de football féminin | France | Belgique | États-Unis |
paracio |
lien vers la délégation paralympique mais label sous forme du code CIO | FRA | BEL | USA |
jojcio |
lien vers la délégation olympique de la jeunesse mais label sous forme du code CIO | FRA | BEL | USA |
beachsoccer |
lien vers la sélection nationale de beach soccer | France | Belgique | États-Unis |
cyclismesurpisteF |
lien vers la sélection nationale de cyclisme sur piste féminin | France | Belgique | États-Unis |
rugby |
lien vers la sélection nationale de rugby à XV masculin | France | Belgique | États-Unis |
football |
lien vers la sélection nationale de football masculin | France | Belgique | États-Unis |
footballamericain |
lien vers la sélection nationale de football américain | France | Belgique | États-Unis |
competition |
article sur une compétition | France | Belgique | États-Unis |
futsal |
lien vers la sélection nationale de futsal masculin | France | Belgique | États-Unis |
gentileMS |
lien vers la nationalité | Français | Belge | Américain |
tennis |
lien vers la sélection nationale de tennis de Coupe Davis | France | Belgique | États-Unis |
economie |
article sur l'économie nationale | France | Belgique | États-Unis |
hockeysurgazonF |
lien vers la sélection nationale de hockey sur gazon féminin | France | Belgique | États-Unis |
hockeysurglace |
lien vers la sélection nationale de hockey sur glace masculin | France | Belgique | États-Unis |
hockeysurglaceF |
lien vers la sélection nationale de hockey sur glace féminin | France | Belgique | États-Unis |
handball |
lien vers la sélection nationale de handball masculin | France | Belgique | États-Unis |
handballF |
lien vers la sélection nationale de handball féminin | France | Belgique | États-Unis |
jocio |
lien vers la délégation olympique mais label sous forme du code CIO | FRA | BEL | USA |
gymnastique |
lien vers la sélection nationale de gymnastique artistique masculine | France | Belgique | États-Unis |
sport |
article sur le sport par nation | France | Belgique | États-Unis |
basketballF |
lien vers la sélection nationale de basket-ball féminin | France | Belgique | États-Unis |
cyclismesurroute |
lien vers la sélection nationale de cyclisme sur route masculin | France | Belgique | États-Unis |
football21 |
lien versla sélection nationale de football espoirs masculin | France | Belgique | États-Unis |
cricket |
lien vers la sélection nationale de cricket | France | Belgique | États-Unis |
marinedeguerre |
lien vers la marine | France | Belgique | États-Unis |
Pays paramétrés
[modifier le code]- Les pays
- Les pays non-autonome
- Les dépendances à statut spécial
- Les pays disparus
Nom | Code CIO | usage classique | Drapeau | Équipe sportive (de football) | Catégorie sport |
---|---|---|---|---|---|
Tchécoslovaquie | TCH |
Tchécoslovaquie | Drapeau de la Tchécoslovaquie | Tchécoslovaquie | Tchécoslovaquie |
Antilles néerlandaises | AHO |
Antilles néerlandaises | Drapeau des Antilles néerlandaises | Antilles néerlandaises | Antilles néerlandaises |
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 (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
--[[
This module is intended to replace the functionality of {{drapeau2}} and related
templates. It provides several methods, including
]]
local drapeau = {};
--math_mod = mw.loadData( "Module:Math" );
-- Chargement de la banque de données des langues avec gestion d'erreur.
local gdata
local success, resultat = pcall (mw.loadData, "Module:Drapeau/Data" )
if success then
gdata = resultat
else
-- Banque de données à minima en cas de bogue dans le Module:Langue/Data
gdata={}
gdata.data={};
gdata.idByName={};
gdata.idByCIO={};
gdata.idByISO={};
gdata.data[142]={qid="Q142", flag="Flag_of_France.svg", label="France", sitelink="$label", cio="FRA", genre="fs"}
gdata.idByName['france']=142;
gdata.idByCIO['FRA']=142;
gdata.idByISO['FRA']=142;
end
local gflag
local success, resultat = pcall (mw.loadData, "Module:Drapeau/Image" )
if success then
gflag = resultat
else
-- Banque de données à minima en cas de bogue dans le Module:Langue/Data
gflag={}
gflag.flag={};
end
local gdomaine
local success, resultat = pcall (mw.loadData, "Module:Drapeau/Domaine" )
if success then
gdomaine = resultat
else
-- Banque de données à minima en cas de bogue dans le Module:Langue/Data
gdomaine={}
gdomaine.domainelist={
defaut = {regexp="[[$sitelink|$label]]" , desc="article sur le pays"}
,drapeau = {regexp="drapeau", desc=""}
}
gdomaine.genre={ms={},msa={},msi={},msia={},fs={},fsa={},fsi={},fsia={},mp={},fp={}}
gdomaine.jo={}
end
local function _getFlag(image,aaaammjj,imagesecours)
local indexdate = aaaammjj .. string.rep('0', 8 - #aaaammjj)
if (indexdate ~= '00000000' and image~=nil) then
for k,v in pairs( image) do
if v["debut"] <= indexdate and indexdate <= v["fin"] then
return v
end
end
end
local d
if(image~=nil) then
d= image[1];
elseif(imagesecours["flag"]~=nil) then
local f=imagesecours["flag"]
d= {civilflag=f,stateflag=f,warflag=f,civilensign=f,stateensign=f,warensign=f};
else
local f="Flag_of_None.svg"
d= {civilflag=f,stateflag=f,warflag=f,civilensign=f,stateensign=f,warensign=f};
end
return d;
end
local function _getCompetition(c,aaaa)
local rep="";
if(c=="CM" or c=="coupedumonde") then
rep="à la Coupe du monde"
elseif(c=="CE" or c=="euro") then
rep="au championnat d'Europe"
elseif(c=="ChM") then
rep="au championnat du monde"
elseif(c=="CAN" or c=="coupedesconfederations") then
rep="à la Coupe des Confédérations"
elseif(c=="en" ) then
rep="en"
elseif(c=="jo" ) then
rep="aux Jeux olympiques"
elseif(c=="joj" ) then
rep="aux Jeux olympiques de la jeunesse"
elseif(c=="jp" ) then
rep="aux Jeux paralympiques"
end
--edition
if(aaaa ~= nil and aaaa ~= "") then
if(c=="jo" or c=="jp" ) then
local o=gdomaine.jo["_"..aaaa];
if(o ~= nil) then
rep=rep.." "..o
end
elseif(c=="joj" ) then
local o=gdomaine.joj["_"..aaaa];
if(o ~= nil) then
rep=rep.." "..o
end
else
rep=rep.." "..aaaa
end
end
return rep
end
--[[
pays
Affiche le pays accompagné de son drapeau {{drapeau2}}
Usage:
{{ Invoke:Drapeau | pays | France }}
]]
local function printIcon(data,image,domaine,size,day)
local border='';
local alt='';
if data["flagborder"] ~= "no" then
border='border|'
end
local datagenre=data["genre"] or "ms"
alt=string.gsub(gdomaine.domainelist["drapeau"]["regexp"], "%$(%w )",gdomaine.genre[datagenre])
alt=string.gsub(alt, "%$(%w )", data)
alt=string.gsub(alt, "%$(%w )", data) --dernière passe pour $name
local filescr="$civilflag" ;
if(gdomaine.domainelist[domaine]~=nil and gdomaine.domainelist[domaine]["flag"]~=nil) then
--drapeau adéquat
filescr=gdomaine.domainelist[domaine]["flag"]
end
local pastimage=_getFlag(image,day,data)
filescr=string.gsub(filescr, "%$(%w )", pastimage)
filescr=string.gsub(filescr, "%$(%w )", pastimage)
return '<span class="flagicon">' ..
'[[Fichier:' .. filescr .. '|' .. size ..'px|' .. border .. alt ..']]' ..
'</span>';
end
local function printData(text,domaine,extra)
local target='';
local datagenre=text["genre"] or "ms"
if text["label"] ~= nil and gdomaine.domainelist[domaine] ~= nil then
target=string.gsub(gdomaine.domainelist[domaine]["regexp"], "%$(%w )", gdomaine.genre[datagenre])
target=string.gsub(target, "%$(%w )", text)
target=string.gsub(target, "%$(%w )", text) --dernière passe pour $name
target=string.gsub(target, "%$(%w )", extra)
target=string.gsub(target, "%$(%w )", "") --une toute dernière pour supprimer les non-attribués
end
--Cas spécial des ïles un nom commun avec un espace devant
--target=string.gsub(target, " République", " république") NON cf Usage_des_majuscules_en_français_lorsque_le_spécifique_est_un_adjectif
target=string.gsub(target, " Île", " île")
target=string.gsub(target, "'Île", "'île")
return target;
end
local function _latinise_letters(tmparg)
--2>--remove case
tmparg=mw.ustring.lower(tmparg);
--2>--remove acccent
tmparg=mw.ustring.gsub(tmparg, "[áàâäãå]", "a");
tmparg=mw.ustring.gsub(tmparg, "[æ]", "ae");
tmparg=mw.ustring.gsub(tmparg, "[ç]", "c");
tmparg=mw.ustring.gsub(tmparg, "[éèêë]", "e");
tmparg=mw.ustring.gsub(tmparg, "[íìîï]", "i");
tmparg=mw.ustring.gsub(tmparg, "[ñ]", "n");
tmparg=mw.ustring.gsub(tmparg, "[óòôöõ]", "o");
tmparg=mw.ustring.gsub(tmparg, "[œ]", "oe");
tmparg=mw.ustring.gsub(tmparg, "[úùûü]", "u");
tmparg=mw.ustring.gsub(tmparg, "[ýÿ]", "y");
return tmparg;
end
local function _latinise(tmparg)
--2>--remove case and accents
tmparg=_latinise_letters(tmparg);
--3>--remove ponct
tmparg=mw.ustring.gsub(tmparg, "[' -_]", "");
return tmparg;
end
local function _cletri(tmparg)
local pays=tmparg;
--2>--remove case and accents
tmparg=_latinise_letters(tmparg);
--3>--remove ponct
tmparg=mw.ustring.gsub(tmparg, "['-_]", " ");
--4>--remove forme longue
local result, count = tmparg
:gsub("^republique ", "")
:gsub("^federation ", "")
:gsub("^union ", "")
:gsub("^iles ", "")
:gsub("^de ", "")
:gsub("^des ", "")
:gsub("^du ", "")
return '<span class="datasortkey" data-sort-value="'..result..'" style="display:none;">'..pays..'</span>';
end
function drapeau.list(frame)
local args = frame.args
local res="";
if args[1] == nil then
local pFrame = frame:getParent();
args = pFrame.args;
for k,v in pairs( frame.args ) do
args[k] = v;
end
end
if args[2] == nil then
args[2]=142 --France par défaut
end
local extra={}
if(args[1]=='libelle') then
res="{|class='wikitable sortable' \n!code!!descriptif!!exemple "..mw.wikibase.sitelink(gdata.data[142]["qid"] ).."!!exemple "..mw.wikibase.sitelink(gdata.data[31]["qid"] ).."!!exemple "..mw.wikibase.sitelink(gdata.data[30]["qid"] ).."\n|-\n"
for k,v in pairs( gdomaine.domainelist ) do
res= res .. "|<code>" .. k .. "</code> ||".. v["desc"] .. "||" ..printData(gdata.data[142],k,extra) .. "||" ..printData(gdata.data[31],k,extra) .. "||" ..printData(gdata.data[30],k,extra) .. "\n|-\n"
end
res=res .. "|}"
end
if(args[1]=='pays') then
res="{|class='wikitable sortable' \n!Nom!!Code CIO!!usage classique!!Drapeau!!Équipe sportive (de football)!!Catégorie sport\n|-\n"
for k,v in pairs( gdata.data ) do
local cio=v["cio"] or ""
if(args[3] == nil or v["group"] == args[3]) then
res= res .. "|"..v["label"].."||<code>" .. cio .. "</code> ||" .._cletri(v["label"])..printIcon(v,nil,"defaut",'20x15',"")..printData(v,"defaut",extra) .. "|| [[" ..printData(v,"drapeau",extra) .. "]] ||" ..printData(v,"football",extra) .. "||" ..printData(v,"sportcat",extra) .."\n|-\n"
end
end
res=res .. "|}"
end
return res;
end
drapeau.List = drapeau.list
function drapeau.pays(frame)
local args = frame.args
local tmparg;
if args[1] == nil then
local pFrame = frame:getParent();
args = pFrame.args;
for k,v in pairs( frame.args ) do
args[k] = v;
end
end
if args[1] then
args[1] = mw.text.trim(args[1])
else
args[1] = ''
end
local key=_latinise(args[1]);
--par défaut
local taille = args["taille"] or '20x15'
if (args["domaine"] == nil) then args["domaine"] = 'defaut' else args["domaine"] = _latinise(args["domaine"]) end
local align = args["align"] or 'left'
local lien = args["lien"] or 'oui'
local annee = ''
if args[2] then
annee = mw.text.trim(args[2])
elseif args["année"] then
annee = args["année"]
end
local extra={}
if (args["compétition"] ~= nil) then
extra["competition"] = " ".._getCompetition(_latinise(args["compétition"]),args["édition"])
end
local q=0;
local data;
if(#key==3) then
q=gdata.idByCIO[mw.ustring.upper(key)]
elseif(args["ISO"]~= nil and args["ISO"]~='') then
q=gdata.idByISO[args["ISO"]]
elseif(args["CIO"]~= nil and args["CIO"]~='') then
q=gdata.idByCIO[args["CIO"]]
else
q=gdata.idByName[key]
end
local data=gdata.data[q];
local image=gflag.flag[q];
local res='';
local reserror='';
--le pays est inconnu !!
if(data == nil) then
data={qid="", flag="Flag_of_None.svg", label=args[1], sitelink="$label", cio=""
, genre="ms" , namelong="$label", gentileMS="$label",gentileFS="$label",gentileMP="$label",gentileFP="$label"}
reserror = reserror .. '<strong class="error">Aucun pays paramétré</strong>'
end
--on ajoute le gentillé en bas de casse
--data["gentileminiMS"]=mw.ustring.lower(data["gentileMS"]);
--data["gentileminiFS"]=mw.ustring.lower(data["gentileFS"]);
--data["gentileminiMP"]=mw.ustring.lower(data["gentileMP"]);
--data["gentileminiFP"]=mw.ustring.lower(data["gentileFP"]);
--clé automatique if(args["t"] == '1') then
if(args["t"] == nil or args["t"] == '1') then
res=res .. _cletri(data["label"]);
end
if(align == 'left') then
res=res .. printIcon(data,image,args["domaine"],taille,annee)..' ';
end
if(args["cible"] ~= nil) then
res=res .. args["cible"]
if(args["domaine"] ~= nil and args["domaine"] ~= '') then
res=res.. ' <span style="font-size:90%;" class="nowrap">(';
end
end
if(lien == 'oui' and data["label"] ~= '') then
res=res ..printData(data,args["domaine"],extra);
end
if(args["cible"] ~= nil and args["domaine"] ~= nil and args["domaine"] ~= '') then
res=res .. ')</span>';
end
if(align == 'right') then
res=res .. ' ' .. printIcon(data,image,args["domaine"],taille,annee);
end
return res .. reserror;
end
drapeau.Pays = drapeau.pays
function drapeau.displayFlag(image, args)
image = type(image) == 'string' and image ~= '' and image or 'Flag of None.svg'
args = type(args) == 'table' and args or {}
local res = ''
local border = '|border'
if args.border == false then
border = ''
end
local size = '|20x15px'
if args.size and args.size ~= '' then
size = '|' .. args.size
end
local alt = '|alt='
if args.alt then
alt = '|alt=' .. args.alt
end
local sortkey = args.sortkey
local sortkeyStart = ''
local sortkeyEnd = ''
if sortkey then
sortkeyStart = '<span data-sort-value="' .. sortkey .. '">'
sortkeyEnd = '</span>'
end
local align = 'left'
if args.align == 'right' then align = 'right' end
local text = args.text or ''
local separator = ' '
if args.separator ~= nil then
separator = args.separator
end
if (not text or text == '') and separator ~= '||' then
separator = ''
end
local spanbox = nil
if args.spanbox and args.spanbox ~= '' then
spanbox = tonumber(args.spanbox)
spanbox = spanbox and (spanbox .. 'px') or args.spanbox
end
local flag = '<span class="flagicon">[[Image:' .. image .. border .. size .. alt .. '|class=noviewer]]</span>'
if spanbox then
flag = '<span style="display:inline-block;text-align:left;width:' .. spanbox .. ';">' .. flag .. '</span>'
end
if separator ~= '||' or align == 'left' then
res = res .. sortkeyStart
end
if align == 'left' then
res = res .. flag
if separator == '||' then
res = res .. sortkeyEnd
end
res = res .. separator
end
res = res .. text
if align == 'right' then
res = res .. separator
if separator == '||' then
res = res .. sortkeyStart
end
res = res .. flag
end
if separator ~= '||' or align == 'right' then
res = res .. sortkeyEnd
end
return res
end
return drapeau