Aller au contenu

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

Itération du système pour prendre en compte les deux façons de renseigner un modèle, avec la barre verticale ou le mot magique {{!}}
(Bugfix des modèles non étendues, par exemple sur Nosferapti/Génération 3)
(Itération du système pour prendre en compte les deux façons de renseigner un modèle, avec la barre verticale ou le mot magique {{!}})
Ligne 630 : Ligne 630 :
endroit[2] = mw.ustring.gsub(endroit[2], " – ", ", ")
endroit[2] = mw.ustring.gsub(endroit[2], " – ", ", ")
local template_replacement = endroit[2]:gsub(".*{{(.-)|(.-)}}.*", "%1") -- sert à process les modèles, qu'il faut renseigner avec "{{!}}" et non "|"
local template_replacement = endroit[2]:gsub(".*{{(.-)|(.-)}}.*", "%1") -- sert à process les modèles qui utilisent "|"
local templates_replaced = 0
local templates_replaced = 0
while template_replacement ~= endroit[2] and templates_replaced < 4 do -- pour empêcher une boucle infinie en cas de pépin, 4 modèles max devraient suffire
while template_replacement ~= endroit[2] and templates_replaced < 4 do -- pour empêcher une boucle infinie en cas de pépin, 4 modèles max devraient suffire
Ligne 639 : Ligne 639 :
local template_replacement = endroit[2]:gsub(".*{{(.-)|(.-)}}.*", "%1")
local template_replacement = endroit[2]:gsub(".*{{(.-)|(.-)}}.*", "%1")
templates_replaced = templates_replaced + 1
end
template_replacement = endroit[2]:gsub(".*{{(.-){{!}}(.-)}}.*", "%1") -- sert à process les modèles qui utilisent "{{!}}"
while template_replacement ~= endroit[2] and templates_replaced < 4 do -- pour empêcher une boucle infinie en cas de pépin, 4 modèles max devraient suffire
local arg_template_teplacement = endroit[2]:gsub(".*{{(.-){{!}}(.-)}}.*", "%2")
local template_result = frame:expandTemplate{title=template_replacement, args={arg_template_teplacement}}
endroit[2] = endroit[2]:gsub("(.*){{(.-){{!}}(.-)}}(.*)", "%1" .. template_result .. "%4")
local template_replacement = endroit[2]:gsub(".*{{(.-){{!}}(.-)}}.*", "%1")
templates_replaced = templates_replaced + 1
templates_replaced = templates_replaced + 1
end
end