Módulo:Wikidata/Formato magnitut
La documentación para este módulo puede ser creada en Módulo:Wikidata/Formato magnitut/doc
local p = {}
function p.formatoMagnitut(valor, opcions)
if not valor or not valor.amount then
return
end
local idUnidat = valor.unit:gsub('^.-/(Q%d+)$', '%1')
local cantidat = tonumber(valor.amount:gsub('+','') or '')
if not cantidat then
return
end
return require('Módulo:Convertir').amostrarValor(cantidat, idUnidat, opcions)
end
function p.formatoPeriodicidad(valor, opcions, marco)
local resultau
--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
resultau = 'mensual'
elseif valor.amount == '+2' then
resultau = 'bimestral'
elseif valor.amount == '+3' then
resultau = 'trimestral'
elseif valor.amount == '+4' then
resultau = 'quatrimestral'
elseif valor.amount == '+6' then
resultau = 'semestral'
else
resultau = 'cada ' .. sinSigno(valor.amount) .. ' meses'
end
elseif valor.unit == 'http://www.wikidata.org/entity/Q23387' then
if valor.amount == '+1' then
resultau = 'semanal'
elseif valor.amount == '+2' then
resultau = 'quincenal'
else
resultau = 'cada ' .. sinSigno(valor.amount) .. ' semanas'
end
elseif valor.unit == 'http://www.wikidata.org/entity/Q577' then
if valor.amount == '+1' then
resultau = 'anual'
else
resultau = 'cada ' .. sinSigno(valor.amount) .. ' anyos'
end
elseif valor.unit == 'http://www.wikidata.org/entity/Q573' then
if valor.amount == '+1' then
resultau = 'diaria'
else
resultau = 'cada ' .. sinSigno(valor.amount) .. ' días'
end
elseif valor.unit == 'http://www.wikidata.org/entity/Q3955006' then
if valor.amount == '+1' then
resultau = 'semestral'
else
resultau = 'cada ' .. sinSigno(valor.amount) .. ' semestres'
end
else
if valor.amount == '+1' then
resultau = 'cada ' .. valor.unit
else
resultau = 'cada ' .. sinSigno(valor.amount) .. ' ' .. valor.unit
end
end
if resultau and opcions and opcions['mayúscla'] == 'sí' then
return mw.language.new('an'):ucfirst(resultau)
else
return resultau
end
end
-- Alias pa simplificar l'uso dende a plantilla propiedat, por eixemplo:
-- {{Propiedad|P2048)|tipo de dato=altaria}}
--
p['altaria'] = p.formatoMagnitut
p['aria'] = p.formatoMagnitut
p['magnitut'] = p.formatoMagnitut
p['periodicidat'] = p.formatoPeriodicidad
return p