-- ¡OJO! Traducción en funciones
local p = {}
local data = require("Module:Datatable")
local mathOps = require("Module:MathOps")
local utils = require("Module:Utils")
local frame = mw.getCurrentFrame()
local bar = "|" -- code for |
local nl = "\n"
local ntl = "|-"
strings = {
file = "Archivo",
altName = "Nombre Alt.",
gender = "Género",
role = "Rol",
nationality = "Nacionalidad",
dlc = "DLC",
actor = "Actor de Voz",
uknownActor = "Actor de Voz Desconocido", --unkown/undisclosed
male = "Hombre",
female = "Mujer",
undefined = "Indefinido",
}
function p.getCountOfSurvivors()
return utils.getCount("survivor")
end
function getSurvivorIndexById(id) --not used
for i, s in ipairs(survivors) do
if s.id == id then return i end
end
return 0
end
-- -------------------- Para borrar
function getSurvivorIndexByName(name) --not used
local i = 1
while survivors[i] do
if survivors[i].name == name then
return i
end
i = i + 1
end
return 0
end
function getSurvivorIdByName(name)
for _, survivor in ipairs(survivors) do
if survivor.name == name then
return survivor.id
end
end
return 0
end
function p.resolveSurvivorCharTable()
survivorId = getSurvivorIdByName(mw.title.getCurrentTitle().text)
surv = utils.getCharacterById(survivorId, survivors)
result = ""
if type(surv) ~= "table" then return surv end
result =
'{| class = "infoboxtable"' .. nl ..
ntl ..' class = "infoboxTitle" | ' .. nl ..
'! class = "center bold" colspan = 2 | ' .. (surv.shortName or surv.name) .. nl ..
ntl .. nl ..
'! class = "center" colspan = 2 | [[' .. strings.file .. ':' .. resolveSurvPortraitImageFileName(surv) .. '.png|150px]]' .. nl ..
ntl .. nl
if surv.altName ~= nil then
result = result .. '| class = "titleColumn" | ' .. strings.altName .. ' || class = "valueColumn" | ' .. surv.altName .. nl .. ntl .. nl
end
result = result ..
'| class = "titleColumn" | ' .. strings.gender .. ' || class = "valueColumn" | ' .. utils.resolveGender(surv.gender) .. nl ..
ntl .. nl ..
'| class = "titleColumn" | ' .. strings.role .. ' || class = "valueColumn" | ' .. surv.role .. nl ..
ntl .. nl ..
'| class = "titleColumn" | ' .. strings.nationality .. ' || class = "valueColumn" | ' .. surv.nationality .. nl ..
ntl .. nl
if surv.dlc ~= nil then
result = result .. '| class = "titleColumn" | ' .. strings.dlc .. ' || class = "valueColumn" | [[' .. getDlcById(surv.dlc).name .. ']] ' .. nl .. ntl .. nl
end
result = result ..
'| class = "titleColumn" | ' .. strings.actor .. ' || class = "valueColumn" | ' .. (surv.actor or strings.uknownActor) .. nl ..
'|}'
mw.log(result)
return result
end
-- Función que usa traducción
function p.resolveSurvivorsTable()
local result
local name
local fileName
result = "<div style=\"color: #fff;\">"
for i, survivor in ipairs(survivors) do
fileName = resolveSurvivorsPortraitFileNameById(survivor.id)
result = result .. "<div style=\"display: inline-block; text-align:center; margin: 10px\">[[" .. (survivor.tName or survivor.name) .. "]]"
result = result .. "[[File:" .. fileName .. ".png|center|frameless|link=" .. (survivor.tName or survivor.name) .. "]]</div>"
end
result = result .. "</div>"
return result
end
-- Función que usa traducción
function p.resolveSurvivorsTableMainPage()
local result
local name
local fileName
result = "<div class=\"fpbox\" id=\"fpsurvivors\" style=\"text-align: center;\">"
result = result .. "<div class=\"heading\">Los [[Supervivientes]] [[File:IconHelpLoading survivor.png|32px]]</div>"
result = result .. "<div class=\"fplinks\">"
for i, survivor in ipairs(survivors) do
name = survivor.tShortName or survivor.shortName or survivor.tName or survivor.name
fileName = resolveSurvivorsPortraitFileNameById(survivor.id)
result = result .. "<div class=\"fplink plainlinks image\"><div class=\"box\"><div class=\"row\"><div class=\"cell\">"
result = result .. "<div class=\"image\">[[File:" .. fileName .. ".png|link=" .. name .. "]]</div>"
result = result .. "<div class=\"link\">[[" .. name .. "]]</div></div></div></div></div>"
end
result = result .. "</div>"
result = result .. "</div>"
return result
end
function resolveSurvPortraitImageFileName(surv)
local fileConst = "_charSelect_portrait"
return "S" .. string.format("%02d", surv.id) .. fileConst
end
-- No funciona correctamente fuera del sitio no-global
function resolveSurvivorsPortraitFileNameById(id)
local fileConst = "_charPreview_portrait"
local fileName
fileName = getFileNameFromTableById(id)
if not utils.isValidFileName(fileName) then --S{ID}_charPreview_portrait
fileName = "S" .. string.format("%02d", id) .. fileConst
end
-- Not working on non-global site
-- if not utils.isValidFileName(fileName) then --File not Found
-- fileName = "UnknownSurvivor" .. fileConst
-- end
mw.log(fileName)
return fileName
end
function getFileNameFromTableById(id)
mw.log(id)
for j, sImage in ipairs(survivorImages) do
if sImage.id == id then
return sImage.preview
end
end
return ""
end
function getDlcById(id)
for _, dlc in ipairs(dlcs) do
if dlc.id == id then return dlc end
end
end
return p
Advertisement
Módulo:Survivors
Advertisement