Módulo:Moneda

De Inkipedia
Revisión del 10:11 15 feb 2024 de A22PG (discusión | contribs.) (Solucionando varios errores (queda por mirar todavía))

La documentación para este módulo puede ser creada en Módulo:Moneda/doc

local m = {}

-- Función para normalizar el tipo de traducción
local function genericType(input)
    if input == nil then
    	return nil
    end
    -- Convertir a minúsculas
    input = input:lower()

    -- Tabla de mapeo para reemplazar letras con tildes y diéresis
    local mapping = {
        ["á"] = "a", ["é"] = "e", ["í"] = "i", ["ó"] = "o", ["ú"] = "u",
        ["à"] = "a", ["è"] = "e", ["ì"] = "i", ["ò"] = "o", ["ù"] = "u",
        ["ä"] = "a", ["ë"] = "e", ["ï"] = "i", ["ö"] = "o", ["ü"] = "u",
        ["ã"] = "a", ["ẽ"] = "e", ["ĩ"] = "i", ["õ"] = "o", ["ũ"] = "u",
        ["ñ"] = "n",
        ["ç"] = "c",
        ["Á"] = "a", ["É"] = "e", ["Í"] = "i", ["Ó"] = "o", ["Ú"] = "u",
		["À"] = "a", ["È"] = "e", ["Ì"] = "i", ["Ò"] = "o", ["Ù"] = "u",
		["Ä"] = "a", ["Ë"] = "e", ["Ï"] = "i", ["Ö"] = "o", ["Ü"] = "u",
		["Ã"] = "a", ["Ẽ"] = "e", ["Ĩ"] = "i", ["Õ"] = "o", ["Ũ"] = "u",
		["Ñ"] = "n",
		["Ç"] = "c"
    }
    
    -- Reemplazar letras con tilde y diéresis según la tabla de mapeo
    for k, v in pairs(mapping) do
        input = input:gsub(k, v)
    end

    -- Eliminar caracteres especiales y espacios
    input = input:gsub("[%s%p%c]", "")
    return input
end

function m.main(frame)
    -- Normalizar el tipo de traducción
    local args = frame:getParent().args
	local juego = args["tipo"] or args[1]
	local moneda = args["moneda"] or args[2]
	local estado = args["moneda"] or args[3]
    
    juego = frame:expandTemplate{title = 'Acortar juego', args = {juego}}
    moneda = genericType(moneda)
    if estado ~= nil then
    	estado = genericType(estado)
    end
    estado = genericType(estado)
    -- Aplicar la traducción según el tipo
    if moneda == "moneda" then
        return string.format("[[File:%s Icon Cash.png|24px|link=Moneda]]", juego)
    elseif moneda == "caviarrojo" or moneda == "caviar" then
    	return string.format("[[File:%s Icon Cash.png|24px|link=Caviar rojo]]", juego)
    elseif moneda == "supermolusco" or moneda == "molusco" then
    	return string.format("[[File:%s Icon Super Sea Snail.png|24px|link=Supermolusco]]", juego)
    elseif moneda == "alevindorado" or moneda == "alevin" then
    	if juego == "S3" then
    		return string.format("[[File:S2 Icon Golden Egg.png|24px|link=Alevín dorado]]")
    	elseif juego == "S2" then
    		return string.format("[[File:S2 Icon Golden Egg.png|24px|link=Alevín dorado]]")
    	end
    elseif moneda == "anchovio" then
    	if juego == "S3" then
    		return string.format("[[File:S2 Icon Sardinium Shadow.png|24px|link=Anchovio]]")
    	elseif juego == "S2" then
    		return string.format("[[File:S2 Icon Sardinium Shadow.png|24px|link=Anchovio]]")
    	end
    elseif moneda == "fragmento" or moneda == "fragmentopotenciador" then
    	return string.format("[[File:%s Icon Ability Chunk Generic.png|24px|link=Fragmento de potenciador]]", juego)
    elseif moneda == "cupon" or moneda == "ticket" then
    	if estado == "comida" then
    		return string.format("[[File:%s Ticket Food Random.png|24px|link=Cupón]]", juego)
    	elseif estado == "bebida" then
    		return string.format("[[File:%s Ticket Drink Random.png|24px|link=Cupón]]", juego)
    	end
    elseif moneda == "pepinopunto" or moneda == "pepinopuntos" then
    	return string.format("[[File:%s Icon CQ Points.png|24px|link=Pπ-nófono#Pepinopunto]]", juego)
    elseif moneda == "licencia" or moneda == "licenciajairo" or moneda == "licenciadejairo" then
    	if estado == nil then
    		return string.format("[[File:%s Icon Sheldon License.png|24px|link=Licencia de Jairo]]", juego)
    	elseif estado == "dorado" then
    		return string.format("[[File:%s Icon Gold Sheldon License.png|24px|link=Licencia de Jairo]]", juego)
    	end
    elseif moneda == "escama" then
    	if estado == "bronce" then
    		return string.format("[[File:%s Icon Bronze Fish Scale.png|24px|link=Escama]]", juego)
    	elseif estado == "plata" or "plateado" then
    		return estado, moneda
    		--return string.format("[[File:%s Icon Silver Fish Scale.png|24px|link=Escama]]", juego)
    	elseif estado == "oro" or "dorado" then
    		return estado, moneda
    		--return string.format("[[File:%s Icon Gold Fish Scale.png|24px|link=Escama]]", juego)
    	end
    elseif moneda == "caracola" then
    	return string.format("[[File:%s icon conch shell.png|24px|link=Caracola]]", juego)
	else
		return string.format("[[File:Not found.png|24px|link=]]")
	end
end

return m