Aller au contenu

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

Bugfix des modèles non étendues, par exemple sur Nosferapti/Génération 3
(Finalement !)
Balise : Révocation manuelle
(Bugfix des modèles non étendues, par exemple sur Nosferapti/Génération 3)
Ligne 630 : Ligne 630 :
endroit[2] = mw.ustring.gsub(endroit[2], " – ", ", ")
endroit[2] = mw.ustring.gsub(endroit[2], " – ", ", ")
local jeu_abreviation = endroit[2]:gsub(".*{{Abréviation{{!}}(.-)}}.*", "%1") -- il faut renseigner le modèle Abréviation avec "{{!}}" et non "|"
local template_replacement = endroit[2]:gsub(".*{{(.-)|(.-)}}.*", "%1") -- sert à process les modèles, qu'il faut renseigner avec "{{!}}" et non "|"
if jeu_abreviation ~= endroit[2]
local templates_replaced = 0
then jeu_abreviation = frame:expandTemplate{title='Abréviation', args={jeu_abreviation}}
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
endroit[2] = endroit[2]:gsub("(.*){{Abréviation{{!}}(.-)}}(.*)", "%1" .. jeu_abreviation .. "%3")
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
end
end