Módulo:Wikidata/Formato magnitud
Uso
En este módulo se definen algunos de los tipos de datos de la plantilla {{propiedad}}
o equivalentemente de las funciones permitidas para el parámetro valor-función del módulo:Wikidata.
magnitud
<section begin=Wikidata_magnitud_texto />
- uso desde la plantilla propiedad
{{Propiedad|id. de la propiedad|tipo de dato=magnitud|parámetros opcionales}}
- uso desde Lua
- Ver el módulo ficha de persona.
Tipo de dato para propiedades de superficie («Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129". (P2046)») o de longitud («Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129". (P2048)», Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129". (P2929)). Se muestra el área o la longitud/altura . Se muestra la cantidad redondeada a dos decimales y a la derecha la abreviatura de la unidad convirtiendo en su caso al sistema internacional de unidades. Para ello se utiliza el módulo:convertir.
Los parámetros posibles son:
enlace
: si toma el valor de "no" no se enlaza la unidadprecisión
: número de decimales que se muestran tras la coma decimal. El valor por defecto es 2.
Para la lista de los parámetros posibles véase la plantilla {{propiedad}}
o el módulo:Wikidata si se accede desde un módulo Lua.
Pueden verse ejemplos de utilización en la página de pruebas del módulo. <section end=Wikidata_magnitud_texto />
periodicidad
<section begin=Wikidata_periodicidad_texto />
- uso desde la plantilla propiedad
{{Propiedad|id. de la propiedad|tipo de dato=magnitud|parámetros opcionales}}
Tipo de dato para la propiedad «Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129". (P2896)». Se muestra la periodicidad (anual, mensual, quincenal, semanal, etc). Los parámetros posibles son:
mayúscula
. Si vale "sí" se muestra el primer carácter de la periodicidad en mayúsculas.
Pueden verse ejemplos de utilización en la página de pruebas del módulo. <section end=Wikidata_periodicidad_texto />
Error de secuencia de órdenes: Error de Lua: Error interno: El intérprete ha finalizado con la señal "-129".
local p = {} function p.formatoMagnitud(valor, opciones) if not valor or not valor.amount then return end local idUnidad = valor.unit:gsub('^.-/(Q%d+)$', '%1') local cantidad = tonumber(valor.amount:gsub('+','') or '') if 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