Module:Aboutfile

local f = {}

function f.main(frame) local result = {} local game = frame:getParent.args["game"] or "" local description = frame:getParent.args["description"] or "" local type = mw.ustring.lower(frame:getParent.args["type"] or "") local meta = mw.ustring.lower(frame:getParent.args["meta"] or "") local user = frame:getParent.args["user"] or "" local source = frame:getParent.args["source"] or nil local license = frame:getParent.args["license"] or nil local resized = frame:getParent.args["resized"] or nil local youtube = frame:getParent.args["youtube"] or nil local fandom = frame:getParent.args["fandom"] or nil function TEXT(X) local artwork = "Artwork" local audio = "Audio" local animated = "Animated image" local boxart = "Cover artwork" local control = "Controller button" local controllerphoto = "Controller photo" local conceptart = "Concept artwork" local diagram = "Diagram" local flag = "Flag" local fanart = "Unofficial fan artwork" local icon = "Icon" local logo = "Logo" local line = "LINE sticker" local map = "Map" local miiverse = "Miiverse post" local model = "Model" local merch = "Merchandise" local promotional = "Promotional image" local photo = "Real-world photo" local prerelease = "Pre-release image" local person = "Real life person" local rating = "Rating icon" local render = "Render" local texture = "Texture" local template = "Template image" local scan = "Scan" local screenshot = "Screenshot" local officialscreenshot = "Official screenshot" local sprite = "Sprite" local system = "Console images" local user = "This file is a personal file belonging to ".. user .."." local video = "Video" local wallpaper = "Wallpaper" local wiki = "Wiki image" local main = "Game image" local mainimage = "Game image" local none = " Error: Invalid type entered, please consult the list of types." local t = {} t = { ['2d'] = artwork, ['2dart'] = artwork, ['2d art'] = artwork, ['2d artwork'] = artwork, ['art'] = artwork, ['artwork'] = artwork, ['art work'] = artwork, ['3d'] = render, ['3dart'] = render, ['3d art'] = render, ['3d artwork'] = render, ['render'] = render, ['rendering'] = render,

['anim'] = animated, ['animated'] = animated, ['animation'] = animated, ['animated image'] = animated, ['animated images'] = animated, ['animated img'] = animated, ['gif'] = animated, ['music'] = audio, ['song'] = audio, ['songs'] = audio, ['audio'] = audio, ['sound'] = audio, ['voice clip'] = audio, ['voice'] = audio, ['box'] = boxart, ['boxart'] = boxart, ['boxartwork'] = boxart, ['box art'] = boxart, ['box artwork'] = boxart, ['cover'] = boxart, ['coverart'] = boxart, ['coverartwork'] = boxart, ['cover art'] = boxart, ['cover artwork'] = boxart, ['game cover'] = boxart, ['gamecover'] = boxart, ['game covers'] = boxart,

['conceptart'] = conceptart, ['conceptartwork'] = conceptart, ['concept art'] = conceptart, ['concept artwork'] = conceptart, ['early art'] = conceptart, ['early artwork'] = conceptart, ['earlyart'] = conceptart, ['earlyartwork'] = conceptart, ['betaart'] = conceptart, ['betaartwork'] = conceptart, ['beta art'] = conceptart, ['beta artwork'] = conceptart, ['button'] = control, ['buttons'] = control, ['control'] = control, ['controller'] = control, ['controller button'] = control, ['joystick'] = control, ['controllerphoto'] = controllerphoto, ['controller photo'] = controllerphoto, ['controlphoto'] = controllerphoto, ['control photo'] = controllerphoto,

['diagram'] = diagram, ['graph'] = diagram, ['graphs'] = diagram, ['chart'] = diagram,

['flag'] = flag,

['fanart'] = fanart, ['fan art'] = fanart, ['fanartwork'] = fanart, ['fan artwork'] = fanart, ['ico'] = icon, ['icon'] = icon, ['icons'] = icon,

['logo'] = logo, ['logomark'] = logo, ['logos'] = logo, ['logotype'] = logo, ['wordmark'] = logo, ['map'] = map, ['maps'] = map,

['miiverse'] = miiverse,

['main'] = main, ['mainimage'] = mainimage, ['mainimages'] = mainimage,

['line'] = line, ['LINE'] = line, ['line sticker'] = line, ['3dmodel'] = model, ['3d model'] = model, ['model'] = model, ['models'] = model,

['merch'] = merch, ['merchandise'] = merch, ['toy'] = merch, ['photo'] = photo, ['photos'] = photo, ['photography'] = photo, ['reallife'] = photo, ['real life'] = photo,

['promotional'] = promotional, ['promo'] = promotional, ['advertisement'] = promotional, ['ad'] = promotional,

['person'] = person, ['real person'] = person, ['human person'] = person, ['people'] = person, ['real people'] = person,

['prerelease'] = prerelease, ['pre-release'] = prerelease, ['p-r'] = prerelease, ['beta'] = prerelease,

['cero'] = rating, ['esrb'] = rating, ['pegi'] = rating, ['rating'] = rating, ['ratings'] = rating, ['prtscr'] = screenshot, ['printscreen'] = screenshot, ['print screen'] = screenshot, ['scr'] = screenshot, ['screen'] = screenshot, ['screenshot'] = screenshot, ['scrshot'] = screenshot, ['screen shot'] = screenshot,

['officialscreen'] = officialscreenshot, ['officialscreenshot'] = officialscreenshot, ['officialscrshot'] = officialscreenshot, ['officialscreen shot'] = officialscreenshot,

['template'] = template,

['texture'] = texture, ['pixelart'] = sprite, ['pixel art'] = sprite, ['sprite'] = sprite, ['sprites'] = sprite,

['scan'] = scan, ['scanned'] = scan, ['scans'] = scan, ['sys'] = system, ['system'] = system, ['system image'] = system, ['system images'] = system, ['console'] = system, ['switch'] = system, ['wiiu'] = system, ['wii'] = system, ['3ds'] = system, ['ds'] = system, ['2ds'] = system,

['personal'] = user, ['personal img'] = user, ['personal image'] = user, ['user'] = user, ['userimg'] = user, ['user image'] = user, ['video'] = video, ['videos'] = video, ['miiwiki'] = wiki, ['wiki'] = wiki,

['wallpaper'] = wallpaper, ['wall paper'] = wallpaper, ['screensaver'] = wallpaper, ['background'] = wallpaper, }		if not t[X] then return none else return t[X] end end function CAT(X,Y) if Y == true then Y = game .. ' ' else Y = "" end local artwork = "" local animated = "" local audio = "" local boxart = "" local control = "" local controllerphoto = "" local conceptart = "" local diagram = "" local icon = "" local flag = "" local logo = "" local line = "" local main = "" local mainimage = "" local miiverse = "" local map = "" local model = "" local merch = "" local promotional = "" local prerelease = "" local photo = "" local person = "" local rating = "" local scan = "" local screenshot = "" local sprite = "" local system = "" local render = "" local texture = "" local user = "" local template = "" local video = "" local wiki = "" local wallpaper = "" local fanart = "" local none = "" local t = {} t = { ['2d'] = artwork, ['2dart'] = artwork, ['2d art'] = artwork, ['2d artwork'] = artwork, ['art'] = artwork, ['artwork'] = artwork, ['art work'] = artwork, ['3d'] = render, ['3dart'] = render, ['3d art'] = render, ['3d artwork'] = render, ['render'] = render, ['rendering'] = render,

['anim'] = animated, ['animated'] = animated, ['animation'] = animated, ['animated image'] = animated, ['animated images'] = animated, ['animated img'] = animated, ['gif'] = animated, ['music'] = audio, ['song'] = audio, ['songs'] = audio, ['audio'] = audio, ['sound'] = audio, ['voice clip'] = audio, ['voice'] = audio, ['box'] = boxart, ['boxart'] = boxart, ['boxartwork'] = boxart, ['box art'] = boxart, ['box artwork'] = boxart, ['cover'] = boxart, ['coverart'] = boxart, ['coverartwork'] = boxart, ['cover art'] = boxart, ['cover artwork'] = boxart, ['game cover'] = boxart, ['gamecover'] = boxart, ['game covers'] = boxart,

['conceptart'] = conceptart, ['conceptartwork'] = conceptart, ['concept art'] = conceptart, ['concept artwork'] = conceptart, ['early art'] = conceptart, ['early artwork'] = conceptart, ['earlyart'] = conceptart, ['earlyartwork'] = conceptart, ['betaart'] = conceptart, ['betaartwork'] = conceptart, ['beta art'] = conceptart, ['beta artwork'] = conceptart, ['button'] = control, ['buttons'] = control, ['control'] = control, ['controller'] = control, ['controller button'] = control, ['joystick'] = control, ['controllerphoto'] = controllerphoto, ['controller photo'] = controllerphoto, ['controlphoto'] = controllerphoto, ['control photo'] = controllerphoto,

['diagram'] = diagram, ['graph'] = diagram, ['graphs'] = diagram, ['chart'] = diagram,

['flag'] = flag,

['fanart'] = fanart, ['fan art'] = fanart, ['fanartwork'] = fanart, ['fan artwork'] = fanart, ['ico'] = icon, ['icon'] = icon, ['icons'] = icon,

['logo'] = logo, ['logomark'] = logo, ['logos'] = logo, ['logotype'] = logo, ['wordmark'] = logo, ['map'] = map, ['maps'] = map,

['miiverse'] = miiverse,

['main'] = main, ['mainimage'] = mainimage, ['mainimages'] = mainimage,

['line'] = line, ['LINE'] = line, ['line sticker'] = line, ['3dmodel'] = model, ['3d model'] = model, ['model'] = model, ['models'] = model,

['merch'] = merch, ['merchandise'] = merch, ['toy'] = merch, ['photo'] = photo, ['photos'] = photo, ['photography'] = photo, ['reallife'] = photo, ['real life'] = photo,

['promotional'] = promotional, ['promo'] = promotional, ['advertisement'] = promotional, ['ad'] = promotional,

['person'] = person, ['real person'] = person, ['human person'] = person, ['people'] = person, ['real people'] = person,

['prerelease'] = prerelease, ['pre-release'] = prerelease, ['p-r'] = prerelease, ['beta'] = prerelease,

['cero'] = rating, ['esrb'] = rating, ['pegi'] = rating, ['rating'] = rating, ['ratings'] = rating, ['prtscr'] = screenshot, ['printscreen'] = screenshot, ['print screen'] = screenshot, ['scr'] = screenshot, ['screen'] = screenshot, ['screenshot'] = screenshot, ['scrshot'] = screenshot, ['screen shot'] = screenshot,

['officialscreen'] = officialscreenshot, ['officialscreenshot'] = officialscreenshot, ['officialscrshot'] = officialscreenshot, ['officialscreen shot'] = officialscreenshot,

['template'] = template,

['texture'] = texture, ['pixelart'] = sprite, ['pixel art'] = sprite, ['sprite'] = sprite, ['sprites'] = sprite,

['scan'] = scan, ['scanned'] = scan, ['scans'] = scan, ['sys'] = system, ['system'] = system, ['system image'] = system, ['system images'] = system, ['console'] = system, ['switch'] = system, ['wiiu'] = system, ['wii'] = system, ['3ds'] = system, ['ds'] = system, ['2ds'] = system,

['personal'] = user, ['personal img'] = user, ['personal image'] = user, ['user'] = user, ['userimg'] = user, ['user image'] = user, ['video'] = video, ['videos'] = video, ['miiwiki'] = wiki, ['wiki'] = wiki,

['wallpaper'] = wallpaper, ['wall paper'] = wallpaper, ['screensaver'] = wallpaper, ['background'] = wallpaper, }

if not t[X] then return none else return t[X] end end function SRC(X) local myself = "Media created by the uploader" local user2 = "Media created by ".. user .."" local fandom = "FANDOM image " local youtube = "YouTube image " local presskit = "Press kit image " local missing = " This file is missing a source. " local prima = "This file has been taken from a Prima guide. " local nso = "This file has been taken from Nintendo Switch Online. " local t = {} t = { ['me'] = myself, ['my'] = myself, ['myself'] = myself, ['self'] = myself, ['Me'] = myself, ['My'] = myself, ['Myself'] = myself, ['Self'] = myself,

['other'] = user2, ['someone'] = user2, ['someone else'] = user2, ['user'] = user2, ['Other'] = user2, ['Someone'] = user2, ['Someone else'] = user2, ['User'] = user2, ['gamepedia'] = fandom, ['fandom'] = fandom, ['wikia'] = fandom, ['gamefaqs'] = fandom, ['Gamepedia'] = fandom, ['Fandom'] = fandom, ['Wikia'] = fandom, ['Gamefaqs'] = fandom, ['GameFAQs'] = fandom, ['youtube'] = youtube, ['yt'] = youtube, ['Youtube'] = youtube, ['YT'] = youtube, ['YouTube'] = youtube, ['kit'] = presskit, ['press'] = presskit, ['presskit'] = presskit, ['press kit'] = presskit, ['Kit'] = presskit, ['Press'] = presskit, ['Presskit'] = presskit, ['Press kit'] = presskit,

['Prima Official Starter Guide'] = prima, ['Prima Guide'] = prima, ['Prima guide'] = prima, ['prima guide'] = prima, ['Prima Games'] = prima, ['Prima games'] = prima, ['prima games'] = prima, ['prima official starter guide'] = prima, ['Prima'] = prima, ['prima'] = prima,

['nso'] = nso, ['NSO'] = nso, ['Switch Online'] = nso, ['Online'] = nso, ['Nintendo Switch Online'] = nso, ['switch online'] = nso, ['online'] = nso, ['nintendo switch online'] = nso, }		if source and source ~= "" then if not t[X] then return X			else return t[X] end else return missing end end function LIC(X) local ccbysa10 = "This file is distributed under the Creative Commons Attribution-ShareAlike 1.0 license." local ccby20 = "This file is distributed under the Creative Commons Attribution 2.0 license." local ccbysa21jp = "This file is distributed under the Creative Commons Attribution-ShareAlike 2.1 Japan license." local ccby25 = "This file is distributed under the Creative Commons Attribution 2.5 license." local ccbysa25 = "This file is distributed under the Creative Commons Attribution-ShareAlike 2.5 license." local ccby30 = "This file is distributed under the Creative Commons Attribution 3.0 license." local ccbync30 = "This file is distributed under the Creative Commons Attribution Non-Commercial 3.0 license." local ccbyncsa30 = "This file is distributed under the Creative Commons Attribution Non-Commercial 3.0 license." local ccbysa30 = "This file is distributed under the Creative Commons Attribution-ShareAlike 3.0 license." local ccbysa40 = "This file is distributed under the Creative Commons Attribution-ShareAlike 4.0 license." local lgpl = "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU Lesser General Public License for more details." local pd = "This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide." local pds = "This file has been released into the public domain by the uploading user. This applies worldwide." local fairuse = "This file is subject to copyright. Copyright is most likely held by the company that published the game or the media portrayed. MiiWiki's use of this work qualifies as fair use under United States copyright law, or the author's permission is given. It is used on the wiki only in the belief that the information the file portrays is designed to be an accompaniment to playing the game or media, and its use here will not:Detract from the experience of playing the game or using the media in question.Harm the author's sales or reputation." local t = {} t = { ['ccbysa10'] = ccbysa10, ['ccybysa1.0'] = ccbysa10, ['cc by sa 1.0'] = ccbysa10, ['cc-by-sa-1.0'] = ccbysa10, ['cc-by-sa 1.0'] = ccbysa10, ['cc by-sa-1.0'] = ccbysa10, ['cc by-sa 1.0'] = ccbysa10, ['ccby20'] = ccby20, ['ccyby2.0'] = ccby20, ['cc by 2.0'] = ccby20, ['cc-by-2.0'] = ccby20, ['cc-by 2.0'] = ccby20, ['cc by-2.0'] = ccby20, ['cc by 2.0'] = ccby20, ['ccbysa21jp'] = ccbysa21jp, ['ccybysa2.1jp'] = ccbysa21jp, ['cc by sa 2.1 jp'] = ccbysa21jp, ['cc-by-sa-2.1 jp'] = ccbysa21jp, ['cc-by-sa 2.1 jp'] = ccbysa21jp, ['cc by-sa-2.1 jp'] = ccbysa21jp, ['cc by-sa 2.1 jp'] = ccbysa21jp, ['cc-by-sa 2.1 japan'] = ccbysa21jp, ['ccby25'] = ccby25, ['ccyby2.5'] = ccby25, ['cc by 2.5'] = ccby25, ['cc-by-2.5'] = ccby25, ['cc-by-2.5'] = ccby25, ['cc by-2.5'] = ccby25, ['cc by-2.5'] = ccby25, ['ccbysa25'] = ccbysa25, ['ccybysa2.5'] = ccbysa25, ['cc by sa 2.5'] = ccbysa25, ['cc-by-sa-2.5'] = ccbysa25, ['cc-by-sa 2.5'] = ccbysa25, ['cc by-sa-2.5'] = ccbysa25, ['cc by-sa 2.5'] = ccbysa25, ['ccby30'] = ccbysa30, ['ccyby3.0'] = ccby30, ['cc by 3.0'] = ccby30, ['cc-by-3.0'] = ccby30, ['cc-by-3.0'] = ccby30, ['ccbysa30'] = ccbysa30, ['ccybysa3.0'] = ccbysa30, ['cc by sa 3.0'] = ccbysa30, ['cc-by-sa-3.0'] = ccbysa30, ['cc-by-sa 3.0'] = ccbysa30, ['cc by-sa-3.0'] = ccbysa30, ['cc by-sa 3.0'] = ccbysa30,

['ccbync30'] = ccbync30, ['ccybync3.0'] = ccbync30, ['cc by nc 3.0'] = ccbync30, ['cc-by-nc-3.0'] = ccbync30, ['cc-by-nc 3.0'] = ccbync30, ['cc by-nc-3.0'] = ccbync30, ['cc by-nc 3.0'] = ccbync30,

['ccbyncsa30'] = ccbyncsa30, ['ccybyncsa3.0'] = ccbyncsa30, ['cc by nc sa 3.0'] = ccbyncsa30, ['cc-by-nc-sa-3.0'] = ccbyncsa30, ['cc-by-nc-sa 3.0'] = ccbyncsa30, ['cc by-nc-sa-3.0'] = ccbyncsa30, ['cc by-nc-sa 3.0'] = ccbyncsa30, ['ccbysa40'] = ccbysa40, ['ccybysa4.0'] = ccbysa40, ['cc by sa 4.0'] = ccbysa40, ['cc-by-sa-4.0'] = ccbysa40, ['cc-by-sa 4.0'] = ccbysa40, ['cc by-sa-4.0'] = ccbysa40, ['cc by-sa 4.0'] = ccbysa40, ['pd'] = pd, ['public'] = pd, ['publicdomain'] = pd, ['public domain'] = pd,

['lgpl'] = lgpl, ['GNU Lesser'] = lgpl, ['pds'] = pds, ['publicself'] = pds, ['publicdomain self'] = pds, ['public domain self'] = pds, ['public domain by myself'] = pds, }		if not t[X] then return fairuse else return t[X] end end local panel_type = "" local panel_meta = ""

if not type or type == "" then type = {} else type = mw.text.split(type, ',%s*') for i = 1, #type do type[i] = TEXT(type[i]) .. CAT(type[i],true) end if #type > 4 then panel_type = ' Type(s) Way too many types! Try using up to 4 types max. '		else panel_type = ' Type(s)  '.. table.concat(type,", ") ..' ' end end if not meta or meta == "" then meta = {} else meta = mw.text.split(meta, ',%s*') for i = 1, #meta do meta[i] = TEXT(meta[i]) .. CAT(meta[i],false) end if #meta > 4 then panel_meta = ' Meta Type(s) Way too many types! Try using up to 4 types max. '		else panel_meta = ' Meta Type(s)  '.. table.concat(meta,", ") ..' ' end end local panel_game = ' Game  '.. game ..'  ' local panel_description = ' Description  '.. description ..' ' local panel_user = ' User  '.. user ..'  ' local panel_source = ' Source  '.. SRC(source) ..' ' local panel_license = ' License  '.. LIC(license) ..' ' local panel_resized = ' Resized  This file has been resized. '	local panel_youtube = ' YouTube  This file has been taken from YouTube, and should be re-captured in-game when possible. '	local panel_fandom = ' FANDOM  This file has been taken from FANDOM (or a subsidiary) and should be re-captured as soon as possible. '	if game == "" then panel_game = "" end if user == "" then panel_user = "" end if resized ~= "yes" then panel_resized = "" end if youtube ~= "yes" then panel_youtube = "" end if fandom ~= "yes" then panel_fandom = "" end if description == "" or description == nil then panel_description = "" end local panel = ' ' table.insert(result, panel) return table.concat(result, "") end

return f