Módulo:Zona de pruebas/Miguillen/Ficha de entidad geopolítica
Este módulo no tiene página de documentación[crear]
--
-- Este módulo es para implementar en {{Ficha de entidad subnacional), {{Ficha de localidad), {{Ficha de país) y {{Ficha de barrio)
--
local p = {}
local Ficha = require('Módulo:Ficha')
local Wikidata = require ('Módulo:Ficha/Wikidata')
local declaraciones = Wikidata.getDeclaraciones()
local Parse = require ('Módulo:Formatos')
local args
local ParametrosFicha = {}
local marco
local function getArgNums(prefix)
--Esta sentencia reconoce sufijos numéricos en los parámetros para poder crear bucles a partir de ellos.
local nums = {}
for k, v in pairs(args) do
local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$')
if num then
table.insert(nums, tonumber(num))
end
end
table.sort(nums)
return nums
end
function wikidata(propiedad,enlace,separador,modulo,funcion,calificador,propiedadValor)
return Wikidata.getDeclaracion(declaraciones, propiedad, separador, modulo, funcion, calificador, enlace,nil,propiedadValor)
end
function wd(propiedad,enlace,separador,modulo,funcion,propiedadValor)
return wikidata(propiedad,enlace,separador,modulo,funcion,nil,propiedadValor)
end
function clf(propiedad,calificador,separador)
return wikidata(propiedad,nil,separador,nil,nil,calificador)
end
function alias(valor)
local listaAlias = {}
local dev = {}
listaAlias['nombre'] = {args['nombre'], args['nombre_oficial'], args['nombre_completo'],
mw.ustring.gsub(mw.title.getCurrentTitle().text,'%s%(.*%)','') } -- título si coletilla
listaAlias['imagen'] = {args['imagen'], wd('P18') }
listaAlias['escudo'] = {args['escudo'], args['imagen_escudo'], wd('P94')}
listaAlias['articulo_bandera'] = {args['artículo bandera'], wd('P163','no')}
listaAlias['articulo_escudo'] = { args['artículo escudo'], wd('P237','no')}
listaAlias['bandera'] = {args['bandera'], args['imagen_bandera'], wd('P41')}
listaAlias['unidad'] = {args['unidad'], wd('P31')}
listaAlias['pais'] = {args['pais'], args['país'], wd('P17','no')}
listaAlias['capital'] = {args['capital'],wd('P36')}
listaAlias['capital_coord'] = {args['capital_coord'], clf('P36','P625')}
listaAlias['tiposuperiores'] = {si(args['superior_1'], apartados('tipo_superior_', '• '))}
listaAlias['superiores'] = {si(args['superior_1'], apartados('superior_', ''),wd('P131','sí','<br>','Wikidata/Formatos','formatFicha'))}
listaAlias['idioma'] = {args['idioma'], args['idiomas'],
args['lengua'], args['idiomas_oficiales'],wd('P37')}
listaAlias['idioma_cooficial'] = {args['idiomas_co-oficiales'], args['idiomas co-oficiales']}
listaAlias['otros_idiomas'] = {args['otros_idiomas'], args['otros idiomas']}
listaAlias['dirigentes_títulos'] = {args['dirigentes_títulos'] ,wd('P6','sí','<br>• ','Wikidata/Formatos' ,'formatId' ,'P39'), 'Dirigentes'}
listaAlias['dirigentes_nombres'] = {args['dirigentes_nombres'],wd('P6')}
listaAlias['fronteras'] = {args['fronteras'],wd('P47','','<br>')}
listaAlias['poblacion'] = {args['población'], args['poblacion'], wd('P1082','no')}
listaAlias['censo'] = {args['censo'], args['población_año'], args['poblacion_año'], clf('P1082','P585')}
listaAlias['altitud'] = {args['altitud'] , args['elevación media'], args['elevación_media']}
listaAlias['altitud_max'] = {args['altitud_max'] , args['elevación alta'], args['elevación_alta']}
listaAlias['altitud_min'] = {args['altitud_min'] , args['elevación baja'], args['elevación_baja']}
listaAlias['densidad'] = {args['población_densidad'], args['densidad']}
listaAlias['PIB_per_capital'] = {args['PIB_per_cápita'], args['PIB per cápita'], args['PIB_per_capita'],
args['PIB per capita']}
listaAlias['PIB_puesto'] = {args['PIB_puesto'], args['PIB puesto']}
listaAlias['código_postal_nombre'] = {args['código_postal_nombre'], args['código postal nombre'],
'[[Código postal]]'}
listaAlias['código_postal'] = {args['código_postal'], args['código postal'], args['cp'],
args['secciones_y_código_postal'],wd('P281')}
listaAlias['prefijo_telefónico_nombre'] = {args['prefijo_telefónico_nombre'],
args['prefijo telefónico nombre'],'[[Anexo:Prefijos telefónicos internacionales|Prefijo telefónico]]'}
listaAlias['prefijo_telefónico'] = {args['prefijo_telefónico'], args['prefijo telefónico'],
args['prefijo'], args['código_telefónico'],wd('P473') }
listaAlias['matrícula_autos_nombre'] = {args['matrícula_autos_nombre'],
args['matricula_autos_nombre'],'[[Matrícula (automóviles)|Matrícula]]'}
listaAlias['matrícula_autos'] = {args['matrícula_autos'], args['matricula_autos']}
listaAlias['código_ISO'] = {args['código_ISO'], args['código ISO'],wd('P300')}
listaAlias['horario'] = {args['horario'],wd('P421')}
listaAlias['nombre_código1'] = {args['nombre_código1'], args['tipo_código1'],'Código'}
listaAlias['nombre_código2'] = {args['nombre_código2'], args['tipo_código2'],'Código'}
listaAlias['código1'] = {args['código1'], args['código']}
listaAlias['fiestas'] = {args['fiestas'], args['fiestas_mayores']}
listaAlias['web'] = {args['página web'], args['web']}
listaAlias['web2'] = {args['página web2'], args['web2']}
if listaAlias[valor] then
dev = listaAlias[valor]
return dev[next(dev)]
end
end
function si (operador,verdadero, falso)
-- función auxiliar que establece un operador ternario en la tabla principal
if operador then
return verdadero
elseif falso then
return falso
end
end
function concatenar(a,...)
--Función auxiliar para concatenar posibles valores nulos en la tabla principal sin que de error
local s = {a,...}
local valorNulo = false
local nCadenas = #s
for i = 1,nCadenas, 1 do
if s[i] == nil then
valorNulo = true
end
end
if not valorNulo then
return table.concat(s)
end
end
function num(numero)
--Función auxiliar para depurar los números. Elimina caracteres no numéricos y covierte el string en número.
local depurar = string.gsub(string.gsub(numero,',','.'),' ','')
local num = tonumber(depurar)
return num
end
function dividir(dividendo,divisor)
-- Función auxiliar para dividir valores en la tabla principal sin que de error si uno o los dos valores son nulos
local cociente ={}
local resultado = {}
if dividendo and divisor then
if type(num(dividendo)) == 'number' and type(num(divisor)) == 'number' then
cociente = num(dividendo)/num(divisor)
resultado = formatnum(math.floor((cociente * 100) + 0.5) / 100)
return resultado
else
return '<strong class="error">Formato no válido</strong>'
end
end
end
function formatnum(numero)
--Función auxiliar para dar a los numeros el formato con separador de millares y decimales de acuerdo al manual de estilos
local fn = {}
if numero then
if type(num(numero)) == 'number' then
fn = mw.language.new('es'):formatNum(num(numero))
return fn
else
return '<strong class="error">Formato no válido</strong>'
end
end
end
function mapaLoc(sufijo)
-- Genera los mapas de localización con la Plantilla:Mapa de localización.
-- El sufijo debe ser dado en la tabla principal de este módulo
-- de forma que si se pone mapaLoc('') no añadiría sufijo (mapa_loc) y si se pone mapaLoc('_1') sería mapa_loc_1.
local mapaLoc = {}
if args.mapa_loc_1 or args.mapa_loc then
if args['mapa_alternativo'] or args['mapa_alternativo_1']then
alternativo = args['mapa_alternativo'.. sufijo]
end
return
marco:expandTemplate{
title = 'mapa de localización',
args = {
args['mapa_loc' .. sufijo],
['etiqueta'] = alias('nombre'),
['marca'] = args['imagen_marca_loc'] or 'Red pog.svg',
['tamaño_marca'] = args['tam_marca_loc'] or '5',
['alineación'] ='center',
['pie'] = 'no',
['mapa_alternativo'] = alternativo ,
['borde'] = 'none',
['posición'] = args['pos_etiqueta_loc']
}
}
end
end
function coordenadas()
-- Genera las coordenadas dadas en por parámetros latd, lat, longd ... a partir del Módulo:Coordenas.
-- Compatible con formatos: deg (grados con decimales sin posición), d (grados con posición),
-- dm (grados, minutos con posición) y dms (grados, minutos y segundos con posición)
if wd('latitud') and wd('longitud') then
return '<span style="white-space:nowrap">' .. wd('P625') .. '</span>'
-- elseif args['latitud'] and args['longitud'] then
-- return
-- '• [[Latitud]]: ' .. args['latitud'] ..'<br>• [[Longitud]]: ' .. args['longitud']
end
end
function apartados(prefijo, separador)
-- Función auxiliar. Genera filas a partir del mismo prefijo más un sufijo numérico.
if args[prefijo] then --Igualamos prefijo con prefijo1
args[prefijo ..'1'] = args[prefijo]
end
local valores = getArgNums(prefijo) --damos valor al prefijo en la función getArgNums
local parametro = {}
for k, num in ipairs(valores) do
parametro[num] = separador .. args[prefijo.. num ]
end
return table.concat (parametro,'<br>') --Devuelve todos los valores de la tabla numerada separados por <br>
end
function distancias()
-- Lo mismo que la función apartados pero en este caso genera paralelamente args.referencia por el mismo sistema.
if args.distancia then --Igualamos distancia con distancia1
args.distancia1 = args.distancia
end
if args.referencia then
args.referencia1 = args.referencia -- Igualamos referencia1 con referencia
end
local distancianumero = getArgNums('distancia') --damos valor al sufijo en la función getArgNums
local distancia = {}
for k, num in ipairs(distancianumero) do
--Esta sentencia crea una tabla numerada (distancia) con cada distanciaN dada asignándole el valor que debe aparcer
distancia[num] = args['distancia'.. num ] .. ' [[kilómetro|km]] a '.. args['referencia' .. num]
end
return table.concat (distancia,'<br>') --Devuelve todos los valores de la tabla numerada separados por <br>
end
function parametros()
--Genera los parámetros del la ficha dándole valores a los argumentos del Módulo:Ficha
ParametrosFicha = {--Tabla principal
clase = "geography vcar",
tipocabecera = 'mapa fn org',
estilotitulo = 'padding:0',
estilosubtitulo1 = 'font-size:100%; font-weight:bold; background-color:#cddeff',
estiloetiqueta = 'padding:1px 8px',
estilodatos = 'padding:1px 8px 1px 1px',
titulo = alias('nombre'),
--estiloarriba = 'font-size:smaller',
arriba = args['nombre original'],
subtitulo = si(alias('pais') and alias('pais') ~= '' and alias('unidad') and alias('unidad') ~= '',
concatenar( alias('unidad'), ' ', marco:preprocess(concatenar('{{ de país|', alias('pais'), '|link=auto}}')))),
imagenizquierda = si(alias('bandera') ~= 'no', alias('bandera') or 'Flag of None.svg'),
imagenderecha = si(alias('escudo') ~= 'no', alias('escudo') or 'Coat of arms of None.svg'),
estilopieizquierdo = 'font-size:smaller; font-weight:bold',
pieizquierdo = si(alias('articulo_bandera') and alias('articulo_bandera') ~= '', concatenar('[[',alias('articulo_bandera'),'|Bandera]]'),'Bandera'),
estilopiederecho = 'font-size:smaller; font-weight:bold',
piederecho = si(alias('articulo_escudo') and alias('articulo_escudo') ~= '' , concatenar('[[', alias('articulo_escudo'),'|Escudo]]'),'Escudo'),
['tamañoimagenizquierda'] = args['tamaño_bandera'] or '100x78px',
['tamañoimagenderecha'] = args['tamaño_escudo'] or '88x88px',
['tamañoimagensuperior'] = args['tamaño_mapa'] or '245px',
['tamañoimagen'] = args['tamaño_imagen'] or '245px',
['tamañoimagen1'] = args['tamaño_imagen1'] or '245px',
['tamañoimageninferior'] = args['imageninferior_tamaño'] or '245px',
imagensuperior = alias('imagen'),
estilopiesuperior = 'font-size:smaller; font-weight:bold',
piesuperior = args['pie_de_imagen'],
estilodatosup1 = 'text-align:center',
datosup1 = si(args['apodo'],
concatenar('[[Apodo|Otros nombres]]: <span style="font-style:italic">',
args['apodo'], '</span>')),
estilodatosup2 = 'text-align:center',
datosup2 = si(args['lema'],
concatenar('[[Anexo:Lemas de Estado|Lema]]: ', args['lema'])),
estilodatosup3 = 'text-align:center',
datosup3 = si(args['himno'],
concatenar('[[Himno]]: ', args['himno'])),
estilodatosup4 = 'border:0; text-align:center',
datosup4 = si( args['archivo_himno'],
concatenar('[[Archivo:',
args['archivo_himno'],
'|140px|center|noicon]]<div style="line-height:1.1em; text-align:center; font-size:smaller;" class="problemas_sonido">\'\'[[Ayuda:Multimedia|¿Problemas al reproducir este archivo?\]\]\'\'</div>')),
estilodatosup5 = 'textalign:center',
estiloimagen = 'padding:0.8em 0.7em; text-align:center',
imagenflotante1 = 'si',
imagenflotante2 = 'si',
imagenflotante3 = 'si',
imagen1 = si(wd('latitud') and wd('latitud') ~= '',mapaLoc('')),
imagen2 = si(wd('latitud') and wd('latitud') ~= '', mapaLoc('_1')),
imagen3 = args['mapa'],
estilopie = 'font-size:smaller; font-weight:bold',
pie1 =si(args['mapa_loc'] and alias('nombre'),concatenar('Ubicación de ',alias('nombre'),' en ',args['mapa_loc'])),
pie2 = si(args['mapa_loc_1'] and alias('nombre'),concatenar('Ubicación de ',alias('nombre'),' en ',args['mapa_loc_1'])),
pie3 = args['piemapa'],
estilodatos2 = 'white-space:nowrap;padding:0px 1px 1px 1px',
estiloetiqueta2 = 'font-size:100;padding:0px 7px',
etiqueta2 = '[[Coordenadas geográficas|Coordenadas]]',
datos2 = si(wd('latitud') and wd('latitud') ~= '', coordenadas()),
etiqueta3 = '[[Capital (política)|Capital]]',
datos3 = alias('capital'),
estiloetiqueta4 = 'border:0;font-weight:100;font-size:90%;padding:0px 7px',
estilodatos4 = 'border:0;font-size:90%;padding:0px 1px 0px 1px',
etiqueta4 = '• Población',
datos4 = si(args['capital'] and args['capital_población'], args['capital_población']),
estiloetiqueta5 ='border:0;font-weight:100;font-size:90%;padding:0px 7px',
estilodatos5 = 'border:0;font-size:90%;padding:0px 1px 0px 1px',
etiqueta5 = '• [[Coordenadas geográficas|Coordenadas]]',
datos5 = si(alias('capital') and alias('capital_coord'), alias('capital_coord')),
--concatenar(args['coor URL'],' ', args['capital_coord'])),
estiloetiqueta6 ='border:0;font-weight:100;font-size:90%;padding:0px 7px',
estilodatos6 = 'border:0;font-size:90%;padding:0px 1px 0px 1px',
etiqueta6 = '• Ciudad más poblada',
datos6 = si(alias('capital') == args['ciudad_grande'], args['ciudad_grande']),
etiqueta7 = 'Idioma oficial',
datos7 = alias('idioma'),
estiloetiqueta8 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos8 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta8 = '• Co-oficiales',
datos8 = alias('idioma_cooficial'),
estiloetiqueta9 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos9 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta9 = '• Otros idiomas',
datos9 = alias('otros_idiomas'),
etiqueta10 = '[[Entidad subnacional|Entidad]]',
datos10 = alias('unidad'),
estiloetiqueta11 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos11 = 'border:0;font-weight:100;padding:0px 1px 0px 1px',
etiqueta11 = '• [[Anexo:Países|País]]',
datos11 = si(alias('pais') and alias('pais') ~= '',
marco:preprocess(concatenar('{{bandera2|', alias('pais'), '}}'))),
estiloetiqueta12 = 'border:0;font-weight:100;padding:0px 7px',
etiqueta12 = alias('tiposuperiores'),
estilodatos12 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
datos12 = alias('superiores'),
etiqueta13 = alias('dirigentes_títulos'),
datos13 = si(args['dirigente1'],' ', alias('dirigentes_nombres')),
estiloetiqueta14 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos14 = 'border:0;padding:0px 1px 1px 1px',
etiqueta14 = concatenar('• ', si( args['dirigente1_cargo'], args['dirigente1_cargo'], 'Dirigente'), si(args['dirigente1_año'],
concatenar(' <span style="font-weight:normal; font-size:90%">(',
args['dirigente1_año'], ')</span>'))),
datos14 = args['dirigente1'],
estiloetiqueta15 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos15 = 'border:0;padding:0px 1px 1px 1px',
etiqueta15 = '• [[Coalición|Partidos gobernantes]]',
datos15 = args['partidos_gobernantes'],
estiloetiqueta16 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos16 = 'border:0;padding:0px 1px 1px 1px',
etiqueta16 = concatenar('• Escaños', si(args['partidos'],concatenar('<br/>',args['partidos']))),
datos16 = args['escaños'],
etiqueta17 = 'Subdivisiones',
datos17 = args['subdivisión'],
estiloetiqueta18 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos18 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta18 = apartados('tipo_div_', '• '),
datos18 = apartados('div_', ''),
etiqueta19 = si(args['fundación'] or args['erección'] or args['fecha_de_creación'],
'Eventos históricos', 'Fundación'),
datos19 = si(args['fundación'] or args['erección'] or args['fecha_de_creación'],' '),
etiqueta20 = args['fundación_hitos'],
datos20 = args['fundación_fechas'],
estiloetiqueta21 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos21 = 'border:0;padding:0px 1px 1px 1px',
etiqueta21 = '• Fundación',
datos21 = si(args['fundación'] ~= nil and args['fundador'] ~= nil,concatenar(args['fundación'],
' <span style="font-size:90%">(',args['fundador'],')</span>'),args['fundación']),
estiloetiqueta22 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos22 = 'border:0;padding:0px 1px 1px 1px',
etiqueta22 = '• Erección',
datos22 = args['erección'],
estiloetiqueta23 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos23 = 'border:0;padding:0px 1px 1px 1px',
etiqueta23 = '• Creación',
datos23 = args['fecha_de_creación'],
estiloetiqueta24 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos24 = 'border:0;padding:0px 1px 1px 1px',
etiqueta24 = '• Nombre',
datos24 = args['nombre_fundación'],
etiqueta25 = '[[Área|Superficie]]',
datos25 = si(args['superficie_puesto'],
concatenar('Puesto ', args['superficie_puesto'], '.º'),
si(args['número_entidades'],concatenar(' de ',args['número_entidades']),
si(args['superficie'] or args['superficie_tierra'] or args['superficie_agua'] or args['fronteras'],
' ')) ),
estiloetiqueta26 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos26 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta26 = '• Total',
datos26 = si(args['superficie'],concatenar(formatnum(args['superficie']),' [[kilómetro cuadrado|km²]]')),
estiloetiqueta27 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos27 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta27 = '• Tierra',
datos27 = si(args['superficie'] and args['superficie_tierra'],
concatenar(formatnum(args['superficie_tierra']),' km²')),
estiloetiqueta28 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos28 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta28 = '• Agua',
datos28 = si(args['superficie'] and args['superficie_agua'],
concatenar(formatnum(args['superficie_agua']),' km²')),
estiloetiqueta29 = 'border:0',
estilodatos29 = 'border:0;padding:0px 1px 1px 1px',
etiqueta29 = '[[Frontera]]s',
datos29 = alias('fronteras'),
etiqueta30 = '[[Altitud]]',
datos30 = si(alias('altitud') or alias('altitud_max') or alias('altitud_min'),' '),
estiloetiqueta31 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos31 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta31 = '• Media',
datos31 = si(alias('altitud'), concatenar(alias('altitud'),' msnm')),
estiloetiqueta32 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos32 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta32 = '• Máxima',
datos32 = si(alias('altitud_max'), concatenar(alias('altitud_max'),' msnm')),
estiloetiqueta33 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos33 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta33 = '• Mínima',
datos33 = si(alias('altitud_min'), concatenar(alias('altitud_min'),' msnm')),
etiqueta34 = si(args[distancia2],'[[Distancia]]s','[[Distancia]]'),
datos34 = distancias(),
etiqueta35 = '[[Clima]]',
datos35 = args['clima'],
etiqueta36 = '[[Curso de agua]]',
datos36 = args['curso_de_agua'],
etiqueta37 = concatenar('[[Población]] (', alias('censo'),')', args['población_notas']),
datos37 = si(args['población_puesto'],
concatenar('Puesto ', args['población_puesto'],
si(args['número_entidades'],concatenar(' de ', args['número_entidades']))),
si(alias('poblacion') and alias('poblacion') ~= '',' ')),
estilodatos38 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
estiloetiqueta38 = 'border:0;font-weight:100;padding:0px 7px',
etiqueta38 = '• Total',
datos38 = si(alias('poblacion') and alias('poblacion') ~= '', concatenar(formatnum(alias('poblacion')), si(args['hab']~='no',' hab.'))),
estiloetiqueta39 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos39 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta39 = '• Hombres',
datos39 = formatnum(args['población_h']),
estiloetiqueta40 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos40 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta40 = '• Mujeres',
datos40 = formatnum(args['población_m']),
estiloetiqueta41 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos41 = 'border:0;font-weight:100;padding:0px 1px 1px 1px',
etiqueta41 = '• [[Densidad de población|Densidad]]',
datos41 = si(alias(densidad),
concatenar(alias(densidad),'hab/km²', args['densidad_post']),
si(alias('poblacion') and args['superficie'],
concatenar(dividir(alias('poblacion'), args['superficie']),
' hab/km²', args['densidad_post']))),
estiloetiqueta42 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos42 = 'border:0;padding:0px 1px 1px 1px',
etiqueta42 = '• Crec.intercensal',
datos42 = si( args['población'] or args['poblacion'],
si( args['crecimiento_intercensal'] ,
concatenar(args['crecimiento_intercensal'],'%'))),
estiloetiqueta43 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos43 = 'border:0;padding:0px 1px 1px 1px',
etiqueta43 = '• Pobl. urbana',
datos43 = si(alias('poblacion') and alias('poblacion') ~= '',
si(args['población_urb'], concatenar(formatnum(args['población_urb']), ' hab.'))),
estiloetiqueta44 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos44 = 'border:0;padding:0px 1px 1px 1px',
etiqueta44 = '• Pobl. metropolitana',
datos44 = si(alias('poblacion') and alias('poblacion') ~= '',
si(args['población_met'], concatenar(formatnum(args['población_met']), ' hab.'))),
estiloetiqueta45 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos45 = 'border:0;padding:0px 1px 1px 1px',
etiqueta45 = '• [[Extranjero]]s',
datos45 = si(alias('Poblacion'), args['población_extranjera']),
estiloetiqueta46 = 'border:0',
estilodatos46 = 'border:0;padding:0px 1px 1px 1px',
etiqueta46 = 'Distribución por edades',
datos46 = si(args['rango_pob1'],
si(args['distribución_pob_fecha'],
concatenar('<span style="font-size:smaller;font-weight:bolt">(',
args['distribución_pob_fecha'],')</span>'),' ')),
estiloetiqueta47 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos47 = 'border:0;padding:0px 1px 1px 1px',
etiqueta47 = apartados('título_rango_pob', '• '),
datos47 = apartados('rango_pob', ''),
etiqueta48 = '[[Gentilicio]]',
datos48 = args['gentilicio'],
etiqueta49 = si(args['PIB tipo'],args['PIB tipo'],'[[Producto Interno Bruto|PIB]] (nominal)'),
datos49 = concatenar(si(alias('PIB_puesto'), concatenar('Puesto ', alias('PIB_puesto'),'.º')),
si(args['número_entidades'], concatenar(' de ', args['número_entidades'])),
si(alias('PIB_per_capital'),' ')),
estiloetiqueta50 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos50 ='border:0;padding:0px 1px 1px 1px',
etiqueta50 = concatenar('• Total',
si(args['PIB año'], concatenar('<span style="font-size:90%"> (',
args['PIB año'], ')</span>'))),
datos50 = args['PIB'],
estiloetiqueta51 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos51 ='border:0;padding:0px 1px 1px 1px',
etiqueta51 = '• PIB per cápita',
datos51 = alias(PIB_per_capital),
estiloetiqueta52 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos52 ='border:0;padding:0px 1px 1px 1px',
etiqueta52 = '• [[Moneda]]',
datos52 = args['moneda'],
etiqueta53 = concatenar('[[Índice de Desarrollo Humano|IDH]]',
si(args['IDH año'],concatenar(' (', args['IDH año'], ')'))),
datos53 = concatenar(args['IDH'],
si(args['IDH puesto'], concatenar(' (', args['IDH puesto'],'.º')),
si(args['número_entidades'],concatenar(' de ', args['número_entidades'])),
si(args['IDH categoría'],concatenar(' –', args['IDH categoría'],')'))),
estiloetiqueta54 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos54 = 'border:0;padding:0px 1px 1px 1px',
etiqueta54 = '• Presupuesto anual',
datos54 = concatenar(args['presupuesto'],
si(args['presupuesto_año'],
concatenar(' <span style="font-size:90%">(año', args['presupuesto_año'], ')</span>'))),
estiloetiqueta55 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos55 = 'border:0;padding:0px 1px 1px 1px',
etiqueta55 = '• [[Tasa de desempleo]]',
datos55 = args['tasa_desempleo'],
estiloetiqueta56 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos56 = 'border:0;padding:0px 1px 1px 1px',
etiqueta56 = '• Ingresos medios',
datos56 = args['ingresos_medios'],
etiqueta57 = '[[Huso horario]]',
datos57 = alias('horario'),
estiloetiqueta58 = 'border:0;font-weight:100;padding:0px 7px',
estilodatos58 = 'border:0;padding:0px 1px 1px 1px',
etiqueta58 = '• en [[Horario de verano|verano]]',
datos58 = si(args['horario'], args['horario_verano']),
etiqueta59 = alias('código_postal_nombre'),
datos59 = si(alias('código_postal') and alias('código_postal') ~= '',
concatenar('<span class="postal-code">', alias('código_postal'),'</span>')),
etiqueta60 = alias('prefijo_telefónico_nombre'),
datos60 = alias('prefijo_telefónico'),
etiqueta61 = alias('matrícula_autos_nombre'),
datos61 = alias('matrícula_autos'),
etiqueta62 = '[[ISO 3166-2]]',
datos62 = alias('código_ISO'),
etiqueta63 = alias('nombre_código1'),
datos63 = alias('código1'),
etiqueta64 = alias('nombre_código2'),
datos64 = si(alias('código1'), args['código2']),
etiqueta65 = 'Fiestas mayores',
datos65 = alias('fiestas'),
etiqueta66 = '[[Hermanamiento de ciudades|Hermanada]] con',
datos66 = si(args['hermandad'], concatenar('<span></span>', args['hermandad'])),
etiqueta67 = '[[Santo patrón|Patrón]]',
datos67 = args['patrón'],
etiqueta68 = '[[Santa patrona|Patrona]]',
datos68 = args['patrona'],
etiqueta69 = args['campo1_nombre'] or 'Campo 1',
datos69 = args['campo1'],
etiqueta70 = args['campo2_nombre'] or 'Campo 2',
datos70 = args['campo2'],
etiqueta71 = args['campo3_nombre'] or 'Campo 3',
datos71 = args['campo3'],
etiqueta72 = args['campo4_nombre'] or 'Campo 4',
datos72 = args['campo4'],
etiqueta73 = args['campo5_nombre'] or 'Campo 5',
datos73 = args['campo5'],
etiqueta74 = args['campo6_nombre'] or 'Campo 6',
datos74 = args['campo6'],
etiqueta75 = args['campo7_nombre'] or 'Campo 7',
datos75 = args['campo7'],
etiqueta76 = args['campo8_nombre'] or 'Campo 8',
datos76 = args['campo8'],
etiqueta77 = args['campo9_nombre'] or 'Campo 9',
datos77 = args['campo8'],
datos78 = si(alias('web'),
concatenar('[http://', alias('web'),' Sitio web oficial ', si(args['página web_1_tipo'],args['página web_1_tipo'],''), ']')),
estilodatos79 = 'border:0;padding:0px 1px 1px 1px',
datos79 = si(alias('web2'),
concatenar('[http://', alias('web2'), ' Sitio web oficial ',si(args['página web_2_tipo'],args['página web_2_tipo'],'') , ']')),
datos80 = si(args['miembro_de'],concatenar('Miembro de: <span></span>', args['miembro_de'])),
imageninferior = args['imageninferior'],
pieinferior = args['imageninferior_pie'],
estilopieinferior = 'font-size:smaller; font-weight:bold',
estilopiedetabla = 'text-align:left; font-size:95%; line-height:1.2em',
piedetabla = args['notas']
}
end
function p.ficha(frame)
marco = frame
local origArgs = {}
Wikidata:setFrame(marco)
if frame == mw.getCurrentFrame() then
origArgs = frame:getParent().args
else
origArgs = frame
end
args = {}
for k, v in pairs(origArgs) do
if v ~= '' then
args[k] = v
end
end
parametros()
return Ficha.infobox(ParametrosFicha)--Devuelve el módulo:Ficha con los parámetro de éste
end
return p