La documentación para este módulo puede ser creada en Módulo:Wikidata/Formato magnitud/doc
local p = {} function p.formatoMagnitud(valor, opciones) if not valor or not valor.amount then return end local idUnidad = valor.unit:match('^.-/(Q%d+)$') local cantidad = tonumber(valor.amount:gsub('+','') or '') if not idUnidad or not cantidad then return end return require('Módulo:convertir').mostrarValor(cantidad, idUnidad, opciones) end function p.formatoPeriodicidad(valor, opciones, marco) local resultado --if true then return require('Módulo:Tablas').tostring(valor) end local function sinSigno(valor) if valor and valor:sub(1,1) == '+' then return valor:sub(2,valor:len()) else return valor end end if valor.unit == 'http://www.wikidata.org/entity/Q5151' then if valor.amount == '+1' then resultado = 'mensual' elseif valor.amount == '+2' then resultado = 'bimestral' elseif valor.amount == '+3' then resultado = 'trimestral' elseif valor.amount == '+4' then resultado = 'cuatrimestral' elseif valor.amount == '+6' then resultado = 'semestral' else resultado = 'cada ' .. sinSigno(valor.amount) .. ' meses' end elseif valor.unit == 'http://www.wikidata.org/entity/Q23387' then if valor.amount == '+1' then resultado = 'semanal' elseif valor.amount == '+2' then resultado = 'quincenal' else resultado = 'cada ' .. sinSigno(valor.amount) .. ' semanas' end elseif valor.unit == 'http://www.wikidata.org/entity/Q577' then if valor.amount == '+1' then resultado = 'anual' else resultado = 'cada ' .. sinSigno(valor.amount) .. ' años' end elseif valor.unit == 'http://www.wikidata.org/entity/Q573' then if valor.amount == '+1' then resultado = 'diaria' else resultado = 'cada ' .. sinSigno(valor.amount) .. ' días' end elseif valor.unit == 'http://www.wikidata.org/entity/Q3955006' then if valor.amount == '+1' then resultado = 'semestral' else resultado = 'cada ' .. sinSigno(valor.amount) .. ' semestres' end else if valor.amount == '+1' then resultado = 'cada ' .. valor.unit else resultado = 'cada ' .. sinSigno(valor.amount) .. ' ' .. valor.unit end end if resultado and opciones and opciones['mayúscula'] == 'sí' then return mw.language.new('es'):ucfirst(resultado) else return resultado end end -- Alias para simplificar el uso desde la plantilla propiedad, por ejemplo: -- {{Propiedad|P2048)|tipo de dato=altura}} -- p['altura'] = p.formatoMagnitud p['área'] = p.formatoMagnitud p['magnitud'] = p.formatoMagnitud p['periodicidad'] = p.formatoPeriodicidad return p