« Module:Amiibo » : différence entre les versions
De Pikmin FR
fr>Fxfxfx0 Module:Amiibo |
fr>Fxfxfx0 Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
local p = {} | local p = {} | ||
-- Mapping table for English to French names | |||
local amiiboFrenchNames = { | |||
["Inkling Girl (Splatoon)"] = "Fille Inkling", | |||
["Inkling Girl (Lime Green)"] = "Fille Inkling (recoloration)", | |||
["Inkling Girl (recolor)"] = "Fille Inkling (recoloration)", | |||
["Inkling Girl"] = "Fille Inkling", | |||
["Inkling Boy (Splatoon)"] = "Garçon Inkling", | |||
["Inkling Boy (Purple)"] = "Garçon Inkling (recoloration)", | |||
["Inkling Boy (recolor)"] = "Garçon Inkling (recoloration)", | |||
["Inkling Boy"] = "Garçon Inkling", | |||
["Inkling Squid (Splatoon)"] = "Calamar Inkling", | |||
["Inkling Squid (Orange)"] = "Calamar Inkling (recoloration)", | |||
["Inkling Squid (recolor)"] = "Calamar Inkling (recoloration)", | |||
["Inkling Squid"] = "Calamar Inkling", | |||
["Callie"] = "Ayo", | |||
["Marie"] = "Oly", | |||
["Inkling Girl (Splatoon 2)"] = "Fille Inkling (Splatoon 2)", | |||
["Inkling Girl 2"] = "Fille Inkling (Splatoon 2)", | |||
["Inkling Boy (Splatoon 2)"] = "Garçon Inkling (Splatoon 2)", | |||
["Inkling Boy 2"] = "Garçon Inkling (Splatoon 2)", | |||
["Inkling Squid (Splatoon 2)"] = "Calamar Inkling (Splatoon 2)", | |||
["Inkling Squid 2"] = "Calamar Inkling (Splatoon 2)", | |||
["Octoling Girl"] = "Fille Octaling", | |||
["Octoling Boy"] = "Garçon Octaling", | |||
["Octoling Octopus"] = "Poulpe Octaling", | |||
["Marina"] = "Coralie", | |||
["Pearl"] = "Perle", | |||
["Inkling (Yellow)"] = "Inkling (jaune)", | |||
["Octoling (Blue)"] = "Octaling (bleu)", | |||
["Smallfry"] = "Salmioche", | |||
["Shiver"] = "Pasquale", | |||
["Frye"] = "Angie", | |||
["Big Man"] = "Raimi", | |||
["Inkling Girl (Super Smash Bros. Ultimate)"] = "Inkling (Super Smash Bros.)" | |||
} | |||
-- Main function | |||
p.main = function(frame) | p.main = function(frame) | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
Ligne 7 : | Ligne 48 : | ||
local section = args['section'] or amiiboName | local section = args['section'] or amiiboName | ||
local text = args['text'] or nil | local text = args['text'] or nil | ||
-- Get the file extension; if unspecified or empty, use png. | |||
local ext = (args['ext'] or '') == '' and 'png' or string.lower(args['ext']) | local ext = (args['ext'] or '') == '' and 'png' or string.lower(args['ext']) | ||
-- Mapping table for amiibo name patterns to image file names. | -- Mapping table for amiibo name patterns to image file names and display text. | ||
local amiiboMap = { | local amiiboMap = { | ||
-- Splatoon 1 | -- Splatoon 1 | ||
{pattern = "Inkling Girl (Splatoon)", imageName = "S_amiibo_Inkling Girl", text = "Inkling | {pattern = "Inkling Girl (Splatoon)", imageName = "S_amiibo_Inkling Girl", text = "Fille Inkling (Splatoon)"}, | ||
{pattern = "Inkling Girl (Lime Green)", imageName = "S_amiibo_Inkling Girl (Lime Green)", text = "Inkling | {pattern = "Inkling Girl (Lime Green)", imageName = "S_amiibo_Inkling Girl (Lime Green)", text = "Fille Inkling (vert clair)"}, | ||
{pattern = "Inkling Girl (recolor)", imageName = "S_amiibo_Inkling Girl (Lime Green)", text = "Inkling | {pattern = "Inkling Girl (recolor)", imageName = "S_amiibo_Inkling Girl (Lime Green)", text = "Fille Inkling (vert clair)"}, | ||
{pattern = "Inkling Girl", imageName = "S_amiibo_Inkling Girl", text = "Inkling | {pattern = "Inkling Girl", imageName = "S_amiibo_Inkling Girl", text = "Fille Inkling (Splatoon)"}, | ||
{pattern = "Inkling Boy (Splatoon)", imageName = "S_amiibo_Inkling Boy", text = "Inkling | {pattern = "Inkling Boy (Splatoon)", imageName = "S_amiibo_Inkling Boy", text = "Garçon Inkling (Splatoon)"}, | ||
{pattern = "Inkling Boy (Purple)", imageName = "S_amiibo_Inkling Boy (Purple)", text = "Inkling | {pattern = "Inkling Boy (Purple)", imageName = "S_amiibo_Inkling Boy (Purple)", text = "Garçon Inkling (violet)"}, | ||
{pattern = "Inkling Boy (recolor)", imageName = "S_amiibo_Inkling Boy (Purple)", text = "Inkling | {pattern = "Inkling Boy (recolor)", imageName = "S_amiibo_Inkling Boy (Purple)", text = "Garçon Inkling (violet)"}, | ||
{pattern = "Inkling Boy", imageName = "S_amiibo_Inkling Boy", text = "Inkling | {pattern = "Inkling Boy", imageName = "S_amiibo_Inkling Boy", text = "Garçon Inkling (Splatoon)"}, | ||
{pattern = "Inkling Squid (Splatoon)", imageName = "S_amiibo_Inkling Squid", text = "Inkling | {pattern = "Inkling Squid (Splatoon)", imageName = "S_amiibo_Inkling Squid", text = "Calamar Inkling (''Splatoon'')"}, | ||
{pattern = "Inkling Squid (Orange)", imageName = "S_amiibo_Inkling Squid (Orange)", text = "Inkling | {pattern = "Inkling Squid (Orange)", imageName = "S_amiibo_Inkling Squid (Orange)", text = "Calamar Inkling (orange)"}, | ||
{pattern = "Inkling Squid (recolor)", imageName = "S_amiibo_Inkling Squid (Orange)", text = "Inkling | {pattern = "Inkling Squid (recolor)", imageName = "S_amiibo_Inkling Squid (Orange)", text = "Calamar Inkling (orange)"}, | ||
{pattern = "Inkling Squid", imageName = "S_amiibo_Inkling Squid", text = "Inkling | {pattern = "Inkling Squid", imageName = "S_amiibo_Inkling Squid", text = "Calamar Inkling (''Splatoon'')"}, | ||
{pattern = "Callie", imageName = "S_amiibo_Callie"}, | {pattern = "Callie", imageName = "S_amiibo_Callie", text = "Ayo"}, | ||
{pattern = "Marie", imageName = "S_amiibo_Marie"}, | {pattern = "Marie", imageName = "S_amiibo_Marie", text = "Oly"}, | ||
-- Splatoon 2 | -- Splatoon 2 | ||
{pattern = "Inkling Girl (Splatoon 2)", imageName = "S2_amiibo_Inkling Girl", text = "Inkling | {pattern = "Inkling Girl (Splatoon 2)", imageName = "S2_amiibo_Inkling Girl", text = "Fille Inkling (''Splatoon 2'')"}, | ||
{pattern = "Inkling Girl 2", imageName = "S2_amiibo_Inkling Girl", text = "Inkling | {pattern = "Inkling Girl 2", imageName = "S2_amiibo_Inkling Girl", text = "Fille Inkling (''Splatoon 2'')"}, | ||
{pattern = "Inkling Boy (Splatoon 2)", imageName = "S2_amiibo_Inkling Boy", text = "Inkling | {pattern = "Inkling Boy (Splatoon 2)", imageName = "S2_amiibo_Inkling Boy", text = "Garçon Inkling (''Splatoon 2'')"}, | ||
{pattern = "Inkling Boy 2", imageName = "S2_amiibo_Inkling Boy", text = "Inkling | {pattern = "Inkling Boy 2", imageName = "S2_amiibo_Inkling Boy", text = "Garçon Inkling (''Splatoon 2'')"}, | ||
{pattern = "Inkling Squid (Splatoon 2)", imageName = "S2_amiibo_Inkling Squid", text = "Inkling | {pattern = "Inkling Squid (Splatoon 2)", imageName = "S2_amiibo_Inkling Squid", text = "Calamar Inkling (''Splatoon 2'')"}, | ||
{pattern = "Inkling Squid 2", imageName = "S2_amiibo_Inkling Squid", text = "Inkling | {pattern = "Inkling Squid 2", imageName = "S2_amiibo_Inkling Squid", text = "Calamar Inkling (''Splatoon 2'')"}, | ||
{pattern = "Octoling Girl", imageName = "S2_amiibo_Octoling Girl"}, | {pattern = "Octoling Girl", imageName = "S2_amiibo_Octoling Girl", text = "Fille Octaling"}, | ||
{pattern = "Octoling Boy", imageName = "S2_amiibo_Octoling Boy"}, | {pattern = "Octoling Boy", imageName = "S2_amiibo_Octoling Boy", text = "Garçon Octaling"}, | ||
{pattern = "Octoling Octopus", imageName = "S2_amiibo_Octoling Octopus"}, | {pattern = "Octoling Octopus", imageName = "S2_amiibo_Octoling Octopus", text = "Poulpe Octaling"}, | ||
{pattern = "Marina", imageName = "S2_amiibo_Marina"}, | {pattern = "Marina", imageName = "S2_amiibo_Marina", text = "Coralie"}, | ||
{pattern = "Pearl", imageName = "S2_amiibo_Pearl"}, | {pattern = "Pearl", imageName = "S2_amiibo_Pearl", text = "Perle"}, | ||
-- Splatoon 3 | -- Splatoon 3 | ||
{pattern = "Inkling (Yellow)", imageName = "S3_amiibo_Inkling (Yellow)", text = "Inkling (''Splatoon 3'')"}, | {pattern = "Inkling (Yellow)", imageName = "S3_amiibo_Inkling (Yellow)", text = "Inkling (''Splatoon 3'')"}, | ||
{pattern = "Octoling (Blue)", imageName = "S3_amiibo_Octoling (Blue)", text = "Octoling (''Splatoon 3'')"}, | {pattern = "Octoling (Blue)", imageName = "S3_amiibo_Octoling (Blue)", text = "Octoling (''Splatoon 3'')"}, | ||
{pattern = "Smallfry", imageName = "S3_amiibo_Smallfry"}, | {pattern = "Smallfry", imageName = "S3_amiibo_Smallfry", text = "Salmioche"}, | ||
{pattern = "Shiver", imageName = "S3_amiibo_Shiver"}, | {pattern = "Shiver", imageName = "S3_amiibo_Shiver", text = "Pascale"}, | ||
{pattern = "Frye", imageName = "S3_amiibo_Frye"}, | {pattern = "Frye", imageName = "S3_amiibo_Frye", text = "Angie"}, | ||
{pattern = "Big Man", imageName = "S3_amiibo_Big Man"}, | {pattern = "Big Man", imageName = "S3_amiibo_Big Man", text = "Raimi"}, | ||
-- Others | -- Others | ||
{pattern = "Inkling Girl (Super Smash Bros. Ultimate)", imageName = "SSBU_amiibo_Inkling Girl", text = "Inkling | {pattern = "Inkling Girl (Super Smash Bros. Ultimate)", imageName = "SSBU_amiibo_Inkling Girl", text = "Inkling (''Super Smash Bros.'')"} | ||
} | } | ||
-- Default values | |||
local imageName = amiiboName | local imageName = amiiboName | ||
local amiiboText = nil | local amiiboText = nil | ||
-- Find | -- Find matching entry in amiiboMap | ||
for _, mapping in ipairs(amiiboMap) do | for _, mapping in ipairs(amiiboMap) do | ||
if amiiboName == mapping.pattern then | if amiiboName == mapping.pattern then | ||
Ligne 87 : | Ligne 104 : | ||
end | end | ||
-- | -- Determine the French section name | ||
local | local frenchSection = amiiboFrenchNames[amiiboName] or section | ||
-- Construct the image link | |||
local imageLink = string.format('[[File:%s.%s|%dx%dpx|%s|link=amiibo#%s|%s]]', | |||
imageName, ext, size, size, imageName, | |||
mw.text.encode(frenchSection), mw.text.encode(amiiboText or frenchSection)) | |||
-- Create the <span> element for the image | |||
local span = mw.html.create('span') | local span = mw.html.create('span') | ||
span:css('width', size .. 'px') | span:css('width', size .. 'px') | ||
Ligne 98 : | Ligne 119 : | ||
span:css('display', 'inline-block') | span:css('display', 'inline-block') | ||
span:wikitext(imageLink) | span:wikitext(imageLink) | ||
local output = tostring(span) | local output = tostring(span) | ||
-- Append additional text if not icononly | -- Append additional text if not icononly | ||
if args[2] ~= 'icononly' and args[3] ~= 'icononly' then | if args[2] ~= 'icononly' and args[3] ~= 'icononly' then | ||
output = output .. ' ' .. '[[amiibo#' .. | output = output .. ' ' .. '[[amiibo#' .. mw.text.encode(frenchSection) .. '|' .. mw.text.encode(amiiboText or frenchSection) .. ']]' | ||
end | end | ||
Version du 2 juillet 2024 à 14:01
For use with Template:Amiibo.
Displays an inline amiibo icon with a text link.
Parameters
name |
Unnamed or named. | The English name of the amiibo. |
size |
Unnamed or named, optional. | The numeric dimension in pixels for the maximum size of the icon. The default size is 24. |
icononly |
Unnamed, optional. | If present, the text label will be omitted. |
section |
Named, optional. | The section in the amiibo article to link to. If absent, name will be used.
|
text |
Named, optional. | The link text. If absent, name will be used for all amiibo, except the Splatoon 2 series, who will exclude the numeral 2.
|
ext |
Named, optional. | The file extension, e.g. jpg. Will default to png if unspecified or empty. |
Examples
Markup
*{{amiibo|Inkling Boy}} *{{amiibo|Inkling Boy (recolor)}} *{{amiibo|Inkling Boy 2}} *{{amiibo|Callie|48}} *{{amiibo|Inkling Girl|icononly}} *{{amiibo|Inkling Squid 2|48|icononly}} *{{amiibo|Inkling Squid 2|text=The ''Splatoon 2'' series Inkling Squid}} *{{amiibo|Inkling (Yellow)}} *{{amiibo|Octoling (Blue)}} *{{amiibo|Smallfry}} *{{amiibo|Shiver}} {{amiibo|Frye}} {{amiibo|Big Man}} *{{amiibo|Frye|ext=jpg}}
Output
- Garçon Inkling (Splatoon) Garçon Inkling (Splatoon)
- Garçon Inkling (violet) Garçon Inkling (violet)
- Garçon Inkling (Splatoon 2) Garçon Inkling (''Splatoon 2'')
- Ayo Ayo
- Fille Inkling (Splatoon)
- Calamar Inkling (Splatoon 2)
- Calamar Inkling (Splatoon 2) Calamar Inkling (''Splatoon 2'')
- Inkling (Splatoon 3) Inkling (''Splatoon 3'')
- Octoling (Splatoon 3) Octoling (''Splatoon 3'')
- Salmioche Salmioche
- Pascale Pascale Angie Angie Raimi Raimi
- Angie Angie
local p = {}
-- Mapping table for English to French names
local amiiboFrenchNames = {
["Inkling Girl (Splatoon)"] = "Fille Inkling",
["Inkling Girl (Lime Green)"] = "Fille Inkling (recoloration)",
["Inkling Girl (recolor)"] = "Fille Inkling (recoloration)",
["Inkling Girl"] = "Fille Inkling",
["Inkling Boy (Splatoon)"] = "Garçon Inkling",
["Inkling Boy (Purple)"] = "Garçon Inkling (recoloration)",
["Inkling Boy (recolor)"] = "Garçon Inkling (recoloration)",
["Inkling Boy"] = "Garçon Inkling",
["Inkling Squid (Splatoon)"] = "Calamar Inkling",
["Inkling Squid (Orange)"] = "Calamar Inkling (recoloration)",
["Inkling Squid (recolor)"] = "Calamar Inkling (recoloration)",
["Inkling Squid"] = "Calamar Inkling",
["Callie"] = "Ayo",
["Marie"] = "Oly",
["Inkling Girl (Splatoon 2)"] = "Fille Inkling (Splatoon 2)",
["Inkling Girl 2"] = "Fille Inkling (Splatoon 2)",
["Inkling Boy (Splatoon 2)"] = "Garçon Inkling (Splatoon 2)",
["Inkling Boy 2"] = "Garçon Inkling (Splatoon 2)",
["Inkling Squid (Splatoon 2)"] = "Calamar Inkling (Splatoon 2)",
["Inkling Squid 2"] = "Calamar Inkling (Splatoon 2)",
["Octoling Girl"] = "Fille Octaling",
["Octoling Boy"] = "Garçon Octaling",
["Octoling Octopus"] = "Poulpe Octaling",
["Marina"] = "Coralie",
["Pearl"] = "Perle",
["Inkling (Yellow)"] = "Inkling (jaune)",
["Octoling (Blue)"] = "Octaling (bleu)",
["Smallfry"] = "Salmioche",
["Shiver"] = "Pasquale",
["Frye"] = "Angie",
["Big Man"] = "Raimi",
["Inkling Girl (Super Smash Bros. Ultimate)"] = "Inkling (Super Smash Bros.)"
}
-- Main function
p.main = function(frame)
local args = frame:getParent().args
local amiiboName = args['name'] or args[1] or ''
local size = args['size'] or tonumber(args[2]) or 24
local section = args['section'] or amiiboName
local text = args['text'] or nil
-- Get the file extension; if unspecified or empty, use png.
local ext = (args['ext'] or '') == '' and 'png' or string.lower(args['ext'])
-- Mapping table for amiibo name patterns to image file names and display text.
local amiiboMap = {
-- Splatoon 1
{pattern = "Inkling Girl (Splatoon)", imageName = "S_amiibo_Inkling Girl", text = "Fille Inkling (Splatoon)"},
{pattern = "Inkling Girl (Lime Green)", imageName = "S_amiibo_Inkling Girl (Lime Green)", text = "Fille Inkling (vert clair)"},
{pattern = "Inkling Girl (recolor)", imageName = "S_amiibo_Inkling Girl (Lime Green)", text = "Fille Inkling (vert clair)"},
{pattern = "Inkling Girl", imageName = "S_amiibo_Inkling Girl", text = "Fille Inkling (Splatoon)"},
{pattern = "Inkling Boy (Splatoon)", imageName = "S_amiibo_Inkling Boy", text = "Garçon Inkling (Splatoon)"},
{pattern = "Inkling Boy (Purple)", imageName = "S_amiibo_Inkling Boy (Purple)", text = "Garçon Inkling (violet)"},
{pattern = "Inkling Boy (recolor)", imageName = "S_amiibo_Inkling Boy (Purple)", text = "Garçon Inkling (violet)"},
{pattern = "Inkling Boy", imageName = "S_amiibo_Inkling Boy", text = "Garçon Inkling (Splatoon)"},
{pattern = "Inkling Squid (Splatoon)", imageName = "S_amiibo_Inkling Squid", text = "Calamar Inkling (''Splatoon'')"},
{pattern = "Inkling Squid (Orange)", imageName = "S_amiibo_Inkling Squid (Orange)", text = "Calamar Inkling (orange)"},
{pattern = "Inkling Squid (recolor)", imageName = "S_amiibo_Inkling Squid (Orange)", text = "Calamar Inkling (orange)"},
{pattern = "Inkling Squid", imageName = "S_amiibo_Inkling Squid", text = "Calamar Inkling (''Splatoon'')"},
{pattern = "Callie", imageName = "S_amiibo_Callie", text = "Ayo"},
{pattern = "Marie", imageName = "S_amiibo_Marie", text = "Oly"},
-- Splatoon 2
{pattern = "Inkling Girl (Splatoon 2)", imageName = "S2_amiibo_Inkling Girl", text = "Fille Inkling (''Splatoon 2'')"},
{pattern = "Inkling Girl 2", imageName = "S2_amiibo_Inkling Girl", text = "Fille Inkling (''Splatoon 2'')"},
{pattern = "Inkling Boy (Splatoon 2)", imageName = "S2_amiibo_Inkling Boy", text = "Garçon Inkling (''Splatoon 2'')"},
{pattern = "Inkling Boy 2", imageName = "S2_amiibo_Inkling Boy", text = "Garçon Inkling (''Splatoon 2'')"},
{pattern = "Inkling Squid (Splatoon 2)", imageName = "S2_amiibo_Inkling Squid", text = "Calamar Inkling (''Splatoon 2'')"},
{pattern = "Inkling Squid 2", imageName = "S2_amiibo_Inkling Squid", text = "Calamar Inkling (''Splatoon 2'')"},
{pattern = "Octoling Girl", imageName = "S2_amiibo_Octoling Girl", text = "Fille Octaling"},
{pattern = "Octoling Boy", imageName = "S2_amiibo_Octoling Boy", text = "Garçon Octaling"},
{pattern = "Octoling Octopus", imageName = "S2_amiibo_Octoling Octopus", text = "Poulpe Octaling"},
{pattern = "Marina", imageName = "S2_amiibo_Marina", text = "Coralie"},
{pattern = "Pearl", imageName = "S2_amiibo_Pearl", text = "Perle"},
-- Splatoon 3
{pattern = "Inkling (Yellow)", imageName = "S3_amiibo_Inkling (Yellow)", text = "Inkling (''Splatoon 3'')"},
{pattern = "Octoling (Blue)", imageName = "S3_amiibo_Octoling (Blue)", text = "Octoling (''Splatoon 3'')"},
{pattern = "Smallfry", imageName = "S3_amiibo_Smallfry", text = "Salmioche"},
{pattern = "Shiver", imageName = "S3_amiibo_Shiver", text = "Pascale"},
{pattern = "Frye", imageName = "S3_amiibo_Frye", text = "Angie"},
{pattern = "Big Man", imageName = "S3_amiibo_Big Man", text = "Raimi"},
-- Others
{pattern = "Inkling Girl (Super Smash Bros. Ultimate)", imageName = "SSBU_amiibo_Inkling Girl", text = "Inkling (''Super Smash Bros.'')"}
}
-- Default values
local imageName = amiiboName
local amiiboText = nil
-- Find matching entry in amiiboMap
for _, mapping in ipairs(amiiboMap) do
if amiiboName == mapping.pattern then
imageName = mapping.imageName
amiiboText = mapping.text
break
end
end
-- Determine the French section name
local frenchSection = amiiboFrenchNames[amiiboName] or section
-- Construct the image link
local imageLink = string.format('[[File:%s.%s|%dx%dpx|%s|link=amiibo#%s|%s]]',
imageName, ext, size, size, imageName,
mw.text.encode(frenchSection), mw.text.encode(amiiboText or frenchSection))
-- Create the <span> element for the image
local span = mw.html.create('span')
span:css('width', size .. 'px')
span:css('height', size .. 'px')
span:css('text-align', 'center')
span:css('display', 'inline-block')
span:wikitext(imageLink)
local output = tostring(span)
-- Append additional text if not icononly
if args[2] ~= 'icononly' and args[3] ~= 'icononly' then
output = output .. ' ' .. '[[amiibo#' .. mw.text.encode(frenchSection) .. '|' .. mw.text.encode(amiiboText or frenchSection) .. ']]'
end
return output
end
return p