Módulo:Clasificación videoxogo
Aparencia
[ máis información | ver o historial | | | ver as instrucións ]
Este módulo toma datos dunha ou máis propiedades do Wikidata
|
Obxectivo
[editar a fonte]Código para o funcionamento de {{Clasificación videoxogo}}
[ máis información | ver o historial | | | ver as instrucións ]
Esta documentación está transcluída desde Módulo:Clasificación videoxogo/uso. Os editores poden probar cambios no mesmo en Módulo:Clasificación videoxogo/probas.
Por favor, engade as categorías na subpáxina de documentación e os interwikis no Wikidata. Ver as subpáxinas deste módulo.
Por favor, engade as categorías na subpáxina de documentación e os interwikis no Wikidata. Ver as subpáxinas deste módulo.
local z = {}
local argumentos -- Tabla de argumentos con los que se llama a la función
local argumento={} -- Argumentos eliminando los argumentos sin datos
local Entidad -- Tabla con los datos en Wikidata del libro.
local algunaPropiedadEnlazaWikidata
local ModuloArgumentos = require('Módulo:Argumentos')
local ModuloWikidata = require('Módulo:Wikidata')
local enVariasLineas = require('Módulo:Formato texto').enVariasLineas
-- Constantes
local imagenesPEGI = {
['3'] = '[[Ficheiro:PEGI 3.svg|15px]]',
['4'] = '[[Ficheiro:Newpegi 4+.svg|15px]]',
['6'] = '[[Ficheiro:Newpegi 6+.svg|15px]]',
['7'] = '[[Ficheiro:PEGI 7.svg|15px]]',
['12'] = '[[Ficheiro:PEGI 12.svg|15px]]',
['16'] = '[[Ficheiro:PEGI 16.svg|15px]]',
['18'] = '[[Ficheiro:PEGI 18.svg|15px]]',
}
local imagenesESRB = {
['RP'] = '[[Ficheiro:ESRB 2013 Rating Pending.svg|15px]]',
['EC'] = '[[Ficheiro:ESRB 2013 Early Childhood.svg|15px]]',
['E'] = '[[Ficheiro:ESRB 2013 Everyone.svg|15px]]',
['E10'] = '[[Ficheiro:ESRB 2013 Everyone 10+.svg|15px]]',
['T'] = '[[Ficheiro:ESRB 2013 Teen.svg|15px]]',
['M'] = '[[Ficheiro:ESRB 2013 Mature.svg|15px]]',
['AO'] = '[[Ficheiro:ESRB 2013 Adults Only.svg|15px]]',
}
local imagenesCERO = {
['SY'] = '[[Ficheiro:CERO Shin Sa Yo Tei.svg|15px]]',
['RP'] = '[[Ficheiro:CERO Shin Sa Yo Tei.svg|15px]]',
['KD'] = '[[Ficheiro:CERO Kyouiku Deitabeisu.svg|15px]]',
['A'] = '[[Ficheiro:CERO A.svg|15px]]',
['B'] = '[[Ficheiro:CERO B.svg|15px]]',
['C'] = '[[Ficheiro:CERO C.svg|15px]]',
['D'] = '[[Ficheiro:CERO D.svg|15px]]',
['Z'] = '[[Ficheiro:CERO Z.svg|15px]]',
['KT'] = '[[Ficheiro:CERO Kitei Teikikou.svg|15px]]',
}
local imagenesUSK = {
['RP'] = '[[Ficheiro:USK - Rating pending.svg|15px]]',
['EA'] = '[[Ficheiro:USK - Rating pending.svg|15px]]',
['0'] = '[[Ficheiro:USK 0.svg|15px]]',
['6'] = '[[Ficheiro:USK6 neu2.svg|15px]]',
['12'] = '[[Ficheiro:USK12 neu2.svg|15px]]',
['16'] = '[[Ficheiro:USK16 neu2.svg|15px]]',
['18'] = '[[Ficheiro:USK18 neu2.svg|15px]]',
}
local imagenesACB = {
['E'] = '[[Ficheiro:OFLC small E.svg|15px]]',
['G'] = '[[Ficheiro:Australian OFLC G tag logo.svg|15px]]',
['PG'] = '[[Ficheiro:PG classification tag from OFLC.svg|15px]]',
['M'] = '[[Ficheiro:Australian OFLC M logo.svg|15px]]',
['MA'] = '[[Ficheiro:MA 15+ classification tag from OFLC.svg|15px]]',
['R'] = '[[Ficheiro:OFLC small R18+.svg|15px]]',
['X'] = '[[Ficheiro:OFLC X 18 classification tag.svg|15px]]',
}
local imagenesRARS = {
['0'] = '[[Ficheiro:RARS 0+ (2016).svg|14px]]',
['6'] = '[[Ficheiro:RARS 6+ (2016).svg|14px]]',
['12'] = '[[Ficheiro:RARS 12+ (2016).svg|14px]]',
['16'] = '[[Ficheiro:RARS 16+ (2016).svg|14px]]',
['18'] = '[[Ficheiro:RARS 18+ (2016).svg|14px]]',
}
local imagenesBARS = {
['L'] = '[[Ficheiro:DJCTQ - L.svg|14px]]',
['10'] = '[[Ficheiro:DJCTQ - 10.svg|14px]]',
['12'] = '[[Ficheiro:DJCTQ - 12.svg|14px]]',
['14'] = '[[Ficheiro:DJCTQ - 14.svg|14px]]',
['16'] = '[[Ficheiro:DJCTQ - 16.svg|14px]]',
['18'] = '[[Ficheiro:DJCTQ - 18.svg|14px]]'
}
local imagenesGRAC = {
['T'] = '[[Ficheiro:GRAC Test (시험용).svg|14px]]',
['All'] = '[[Ficheiro:GRAC All (전체이용가).svg|14px]]',
['12'] = '[[Ficheiro:GRAC 12 (12세이용가).svg|14px]]',
['15'] = '[[Ficheiro:GRAC 15 (15세이용가).svg|14px]]',
['18'] = '[[Ficheiro:GRAC 18 (18청소년이용불가).svg|14px]]',
['19'] = '[[Ficheiro:GRAC 19 (19청소년이용불가).svg|14px]]'
}
function z.main(frame)
ModuloWikidata:setFrame(frame)
local argumento = ModuloArgumentos.getArgs(frame)
Entidad = mw.wikibase.getEntityObject() or {}
if propiedad('P853') then
CERO = ((propiedad('P853', {uno='sí'})) ):sub(1,1)
else
CERO=argumento['CERO']
end
if propiedad('P914') then
USK = (propiedad('P914', {uno='sí'})):sub(5,6)
else
USK= argumento ['USK']
end
ESRB = argumento ['ESRB']
ACB = argumento ['ACB']
RARS = argumento ['RARS']
BARS = argumento ['BARS']
GRAC = argumento ['GRAC']
if propiedad('P908') then
PEGI = (propiedad('P908', {uno='sí'})):sub(6)
else
PEGI=argumento['PEGI']
end
return enVariasLineas({
evaluar('Pan European Game Information|PEGI', PEGI , imagenesPEGI),
evaluar('Entertainment Software Rating Board|ESRB', ESRB, imagenesESRB),
evaluar('Computer Entertainment Rating Organization|CERO', CERO, imagenesCERO),
evaluar('Unterhaltungssoftware Selbstkontrolle|USK', USK, imagenesUSK),
evaluar('Asociación de Clubs de Baloncesto|ACB', ACB, imagenesACB),
evaluar('RARS', RARS, imagenesRARS),
evaluar('BARS', BARS, imagenesBARS),
evaluar('GRAC', GRAC, imagenesGRAC)
})
end
function evaluar(literal, valor, imagenes, nota)
if not valor then
return
end
local imagen
if imagenes then
imagen = imagenes[valor]
end
if imagen and nota then
return '<b> [[' .. literal .. ']] </b>' .. imagen .. '<small>' .. nota .. '</small>'
elseif imagen then
return '<b> [[' .. literal .. ']] </b>' .. imagen
else
return '<b> [[' .. literal .. ']] </b>' .. valor
end
end
function propiedad(idPropiedad,opciones)
if Entidad and Entidad.claims and Entidad.claims[idPropiedad] then
if not opciones then
opciones = {}
end
opciones['propiedad'] = idPropiedad
valorPropiedad = ModuloWikidata.getPropiedad(opciones,Entidad.claims[idPropiedad])
if valorPropiedad and valorPropiedad:match('%[%[:d:') then
algunaPropiedadEnlazaWikidata = true
end
return valorPropiedad
end
end
return z