« Module:Date » : différence entre les versions

Contenu supprimé Contenu ajouté
modeleDate : séparation des fonctions d'analyse du décalage, d'analyse des paramètres jour, mois, année et de l'affichage de la date. Amélioration de separationJourMoisAnnee.
dateInfobox : qualificatif passé à modeleDate en paramètre nommé.
Ligne 17 :
local trim = Outils.trim
 
-- Fonction destiné à mettre la première lettre du mois en majuscule du mois :
-- utilisation de string car aucun mois ne commance par une lettre non ascii en français ou anglais.
local function ucfirst( str )
return mw.ustring.upper( mw.ustring.str:sub( str, 1, 1 ) :upper() .. mw.ustring.str:sub( str, 2 )
end
 
local modelePremier = '<abbr class="abbr" title="premier">1<sup>er</sup></abbr>'
 
 
-- liste des mois, écriture exacte et simplifiée, en minuscule
Ligne 59 ⟶ 62 :
-- si reconnu, retourne aussi le numéro du mois [1-12]
function fun.valideMois( mois )
iflocal typem = trim( mois ) ~= "string" then
if m then
return nil
local m = mw.ustring.lower( mw.text.trim( mois )m )
end
for i = 1, 12 do
local j = 1
local m = mw.ustring.lower( mw.text.trim( mois ) )
while liste_mois[i][j] ~= nil do
returnif liste_mois[i][1j], i== m then
for i = 1, 12 do
return liste_mois[i][1], i
local j = 1
end
while liste_mois[i][j] ~= nil do
if liste_mois[i][ j] == mj + then1
return liste_mois[i][1], i
end
j = j + 1
end
end
Ligne 86 ⟶ 87 :
end
local m = mw.ustring.lower( mw.text.trim( saison ) )
for i = 1, 4 do
Ligne 168 ⟶ 169 :
end
-- l'annee n'est ni dans la partie aucun, ni dans la partie tous donc il faut tester si la page existe.
local cibleLien = mw.title.new( lien )
if cibleLien and cibleLien.exists then
return lien
Ligne 187 ⟶ 188 :
jour = jour:gsub( v, '1' )
end
jour = mw.text.trim( jour )
end
return jour
Ligne 805 ⟶ 806 :
end
end
return fun.modeleDate{ dateM, qualificatif = qualificatif, mort = '1', nolinks = nolinks, nocat = nocat } .. age
else
return args[3]
Ligne 816 ⟶ 817 :
if t1 then
if naissance and dateM == nil then
return fun.modeleDate{ dateN, qualificatif = qualificatif, age = 'oui', naissance='1', nolinks = nolinks, nocat = nocat }
else
return fun.modeleDate{ dateN, qualificatif = qualificatif, naissance=naissance, nolinks = nolinks, nocat = nocat }
end
else
Ligne 997 ⟶ 998 :
 
function fun.modeleAge( frame )
local args = frame.getParent().args
local annee = args[1] or args['année']
if annee == nil then
Ligne 1 201 ⟶ 1 202 :
function fun.CEST(frame)
-- option : ne pas créer de wikilien
local opt = mw.text.trim(frame.args[1] or frame:getParent().args[1] or "")
-- on récupère l'information dans la zone courante
local t = mw.getContentLanguage():formatDate("I", nil, true)