Modulo:Software/Configurazione/sandbox

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
local config = {}

--[[
* "Vecchi" parametri del Template:Software/Linguaggio associati all'elemento Wikidata
]]
config.languageSlugToWikidata = {
	['action']        = 'Q343587',
	['action!']       = 'Q343587',
	['actionscript']  = 'Q234657',
	['ada']           = 'Q154755',
	['assembly']      = 'Q165436',
	['bash']          = 'Q189248',
	['basic']         = 'Q42979',
	['c']             = 'Q15777',
	['c++']           = 'Q2407',
	['c ++']          = 'Q2407',
	['cpp']           = 'Q2407',
	['coffescript']   = 'Q1106819',
	['css']           = 'Q46441',
	['c#']            = 'Q2370',
	['c #']           = 'Q2370',
	['c sharp']       = 'Q2370',
	['delphi']        = ',Q487378',
	['embarcadero delphi']
	                  = 'Q487378',
	['erlang']        = 'Q334879',
	['fortran']       = 'Q83303',
	['go']            = 'Q37227',
	['groovy']        = 'Q504453',
	['haskell']       = 'Q34010',
	['html']          = 'Q8811',
	['html5']         = 'Q2053',
	['java']          = 'Q251',
	['javascript']    = 'Q2005',
	['js']            = 'Q2005',
	['lisp']          = 'Q132874',
	['lua']           = 'Q207316',
	['objective-c']   = 'Q188531',
	['objective c']   = 'Q188531',
	['object pascal'] = 'Q633894',
	['pascal']        = 'Q81571',
	['php']           = 'Q59',
	['powershell']    = 'Q840410',
	['perl']          = 'Q42478',
	['pgsql']         = 'Q2044345',
	['pl']            = 'Q2044345',
	['pl-pgsql']      = 'Q2044345',
	['pl/pgsql']      = 'Q2044345',
	['python']        = 'Q28865',
	['qml']           = 'Q961543',
	['qt']            = 'Q201904',
	['ruby']          = 'Q161053',
	['scala']         = 'Q460584',
	['scheme']        = 'Q187560',
	['swift']         = 'Q17118377',
	['tex']           = 'Q5301',
	['tcl']           = 'Q5288',
	['typescript']    = 'Q978185',
	['vala']          = 'Q1138939',
	['visual basic']  = 'Q2378',
	['web']           = 'Q1141484',
	['xul']           = 'Q726218'
}

--[[
* Per dare un po' di robustezza a questa configurazione su lungo termine.
*
* Per disabilitare la categoria impostare `cat` a false.
*
* @param cat string|false Il placeholder (%s) di "Categoria:Software in %s"
* @param free true|nil Ha la categoria per software libero?
* @param nonfree true|nil Ha la categoria per software proprietà?
* @param catf string|nil Categoria da mandare a sprintf
]]
local langcat = function(cat, free, nonfree)
	return {
		cat     = cat,
		free    = free,
		nonfree = nonfree
	}
end

config.language = {
	Q5289     = langcat('.NET'                     ),
	Q343587   = langcat('Action!'                  ),
	Q234657   = langcat(false                      ),
	Q154755   = langcat('Ada'                      ),
	Q165436   = langcat('Assembly'                 ),
	Q189248   = langcat('Bash'                     ),
	Q42979    = langcat('BASIC'                    ),
	Q15777    = langcat('C',             true, true),
	Q2370     = langcat('C sharp',       true, true),
	Q2407     = langcat('C++',           true, true),
	Q1106819  = langcat('CoffeeScript'             ),
	Q46441    = langcat('CSS'                      ),
	Q487378   = langcat('Delphi',        true      ),
	Q334879   = langcat('Erlang'                   ),
	Q83303    = langcat('Fortran'                  ),
	Q37227    = langcat('Go'                       ),
	Q504453   = langcat('Groovy'                   ),
	Q34010    = langcat('Haskell'                  ),
	Q8811     = langcat('HTML'                     ),
	Q2053     = langcat('HTML5'                    ),
	Q251      = langcat('Java',          true      ),
	Q2005     = langcat('JavaScript',    true      ),
	Q132874   = langcat('Lisp',          true      ),
	Q207316   = langcat('Lua'                      ),
	Q633894   = langcat('Object Pascal', true, true),
	Q188531   = langcat('Objective-C',   true      ),
	Q81571    = langcat('Pascal'                   ),
	Q42478    = langcat('Perl',          true      ),
	Q59       = langcat('PHP',           true      ),
	Q2044345  = langcat('PL/pgSQL'                 ),
	Q840410   = langcat('PowerShell'               ),
	Q28865    = langcat('Python',        true      ),
	Q961543   = langcat('QML'                      ),
	Q161053   = langcat('Ruby'                     ),
	Q460584   = langcat('Scala'                    ),
	Q187560   = langcat('Scheme'                   ),
	Q17118377 = langcat('Swift'                    ),
	Q5301     = langcat('TeX'                      ),
	Q5288     = langcat('Tcl'                      ),
	Q978185   = langcat('TypeScript'               ),
	Q726218   = langcat('XUL'                      ),
	Q1138939  = langcat('Vala'                     ),
	Q2378     = langcat('Visual Basic'             ),
	Q1141484  = langcat('WEB'                      ),

--	Toolkits:
	Q189464   = langcat('GTK+',          true      ),
	Q201904   = langcat('Qt',            true, true),
	Q310974   = langcat('ncurses'                  ),
	Q284982   = langcat('wxWidgets'                )
}

--[[
* Categoria:Software in licenza $1
* Vediamo se proseguire con questa configurazione o se fruire della proprietà Wikidata short name P1813
]]
config.licenseCategory = {
	Q7603      = 'GNU GPL',
	Q27126812  = 'GNU GPL v1',
	Q27016750  = 'GNU GPL v1+',
	Q10513450  = 'GNU GPL v2',
	Q27016752  = 'GNU GPL v2+',
	Q10513445  = 'GNU GPL v3',
	Q27016754  = 'GNU GPL v3+',
	Q192897    = 'GNU LGPL',
	Q23035974  = 'GNU LGPL v2',
	Q27016756  = 'GNU LGPL v2',
	Q18534390  = 'GNU LGPL v2.1',
	Q27016757  = 'GNU LGPL v2.1+',
	Q18534393  = 'GNU LGPL v3',
	Q27016762  = 'GNU LGPL v3+',
	Q1131681   = 'GNU AGPL',
	Q27017230  = 'GNU AGPL v1',
	Q27017232  = 'GNU AGPL v3',
	Q27020062  = 'GNU AGPL v3+',
	Q616526    = 'Apache',
	Q13785927  = 'Apache 2.0',
	Q334661    = 'MIT',
	Q308915    = 'MPL',
	Q18526202  = 'X11',
	Q191307    = 'BSD',
	Q18517294  = 'BSD 2-clausole',
	Q18491847  = 'BSD 3-clausole',
	Q21503790  = 'BSD 4-clausole',
	Q178285    = 'freeware',

-- Override di categorie minori da far (temporaneamente?) convergere:

	Q27126812  = 'GNU GPL',  -- GNU GPL v1
	Q27016750  = 'GNU GPL',  -- GNU GPL v1+

	Q27017230  = 'GNU AGPL', -- GNU AGPL v1
	Q27017232  = 'GNU AGPL', -- GNU AGPL v3
	Q27020062  = 'GNU AGPL', -- GNU AGPL v3-

	Q23035974  = 'GNU LGPL', -- GNU LGPL v2
	Q27016756  = 'GNU LGPL', -- GNU LGPL v2+
	Q18534390  = 'GNU LGPL', -- GNU LGPL v2.1
	Q27016757  = 'GNU LGPL', -- GNU LGPL v2.1+
	Q18534393  = 'GNU LGPL', -- GNU LGPL v3
	Q27016762  = 'GNU LGPL', -- GNU LGPL v3+

	Q18517294  = 'BSD',      -- BSD 2-clausole
	Q18491847  = 'BSD',      -- BSD 3-clausole
	Q21503790  = 'BSD',      -- BSD 4-clausole

	Q13785927  = 'Apache',   -- Apache 2.0

	Q18526202  = 'MIT'       -- X11 License
}

--[[
* Categoria:Software $1
* Specificare le licenze che hanno una categorizzazione abbreviata.
]]
config.licenseCategoryShorter = {
	Q178285 = 1 -- freeware
}

--[[
* Per dare un po' di robustezza a questa configurazione su lungo termine.
*
* Per disabilitare la categoria impostare `cat` a false.
*
* @param cat string|false Categoria e.g. "Elaboratori di formule"
* @param free bool|nil Ha la categoria per software libero?
* @param nonfree bool|nil Ha la categoria per software proprietario?
* @param catf string|nil Categoria più generica rispetto alla presupposta "Elaboratori di formule %s"
* @param sing bool|nil La categoria assume "libero" o "proprietario", invece che "liberi" o "proprietari"
* @param m bool|nil Genere maschile? Disabilitare per avere "libere" "proprietarie" invece che "liberi" o "proprietari"
]]
local genrecat = function(cat, free, nonfree, generic, catf, sing, m)
	free    = free     == nil and true or free
	nonfree = nonfree  == nil and free or nonfree
	return {
		cat      = cat,
		free     = free,
		nonfree  = nonfree,
		catf     = catf,
		sing     = sing,
		m        = m == nil and true or m
	}
end

config.genre = {}
config.genre.cat = {
	Q1200186   = genrecat('Software di accesso remoto'), -- remote desktop software
	Q498267    = genrecat('Aggregatori di notizie'),
	Q29051918  = genrecat('Ambienti di sviluppo di videogiochi'),
	Q193564    = genrecat('Motori grafici'), -- game engine
	missing    = genrecat('Software per l\'analisi dei dati'),
	missing    = genrecat('Software per l\'analisi numerica'),
	missing    = genrecat('Antispyware'),
	Q93249     = genrecat('Antivirus'),
	Q877886    = genrecat('Archiviatori di file'), -- file archiver
	Q2727468   = genrecat('Software per l\'automazione dello sviluppo'), -- automazione dello sviluppo
	Q194274    = genrecat('Software di backup'), -- backup
	Q8513      = genrecat('Software per basi di dati',                    nil,   nil,    'Software %s per basi di dati'     ), -- database
	Q128570    = genrecat('Software per la bioinformatica',               nil,   false                                      ), -- bioinformatic
	Q226264    = genrecat('BIOS',                                         nil,   false),
	Q836795    = genrecat('Boot loader'),
	Q507703    = genrecat('Chatterbot',                                   nil,   false                                      ), -- IRC bot
	Q6368      = genrecat('Browser'),
	Q26203752  = genrecat('Calcolatrici',                                 nil,   nil,    nil,                          false),
	Q180634    = genrecat('Software di calcolo distribuito'), -- calcolo distribuito
	Q870780    = genrecat('Chatterbot',                                   nil,   false),
	Q29156727  = genrecat('Software per la chimica',                      nil,   false), -- cheminformatic software
	Q21577192  = genrecat('Client BitTorrent'),
	Q570871    = genrecat('Client di posta elettronica'),
	Q1254596   = genrecat('Software per il cloud computing'), -- software as a service
	Q47506     = genrecat('Compilatori'),
	Q15614008  = genrecat('Software per la composizione tipografica'), -- typographic software
	Q29157559  = genrecat('Software per la compressione dei dati'), -- compression software
	Q1050567   = genrecat('Software CAE'), -- computer-aided engineering
	Q1043936   = genrecat('Software CAPP'), -- computer-aided process planning
	Q660192    = genrecat('Software CAM'), -- computer-aided manufacturing
	Q150971    = genrecat('Software per computer grafica'), -- computer graphic
	Q189177    = genrecat('Software per computer grafica 3D'), -- 3D computer graphics
	Q751436    = genrecat('Software per la comunicazione tra processi',    nil,   false), -- inter-process communication
	Q131093    = genrecat('Content management system'),
	Q3257930   = genrecat('Software di controllo versione',                nil,   false),
	Q5375622   = genrecat('Software per la crittografia'),
	Q485643    = genrecat('Software per il customer relationship management'),
	Q176165    = genrecat('Database management system'),
	Q193231    = genrecat('Debugger'),
	Q205020    = genrecat('Desktop environment'),
	Q29364197  = genrecat('Software per desktop publishing'),
	Q1138815   = genrecat('Desktop search'),
	Q1060750   = genrecat('Software per il montaggio audio'),
	Q831677    = genrecat('Document management system',                    nil,   false),
	Q131212    = genrecat('Editor di testo'),
	Q726761    = genrecat('Editor HTML'),
	Q1074158   = genrecat('Software per l\'educazione'), -- e-learning
--	Q2164323   = genrecat('Software per generare documentazione'),
	Q29480132  = genrecat('Elaboratori di formule'),
	Q2115026   = genrecat('Elaboratori di presentazioni'),
	Q1070689   = genrecat('Software per l\'elaborazione digitale delle immagini'),
	Q1194864   = genrecat('Software EDA'),
	Q247423    = genrecat('Content management system'), -- IMPROPRIO! ARGHH!
	Q131508    = genrecat('Software per enterprise resource planning'),
	Q732970    = genrecat('File manager'),
	Q104851    = genrecat('Firmware',                                      nil,   false),
	Q183197    = genrecat('Fogli elettronici'),
	Q168210    = genrecat('Software per forum',                            nil,   false),
	Q1330336   = genrecat('Framework per applicazioni web',                nil,   false),
	Q907375    = genrecat('Framework di unit testing',                     nil,   false),
	Q1076785   = genrecat('Generatori di parser',                          nil,   false),
	Q483130    = genrecat('Geographic information system'),
	Q565428    = genrecat('Gestore di download'),
	Q860676    = genrecat('Gestore di immagini'),
	Q24877948  = genrecat('Gestori di partizioni'),
	Q1464880   = genrecat('Installer',                                     nil,   false),
	Q13741     = genrecat('Ambienti di sviluppo'),
	Q15590034  = genrecat('Software di interpolazione',                    nil,   false),    -- TODO: [[Discussioni categoria:Software di interpolazione]]
	Q29642842  = genrecat('Software per la lettura di ebook',              false, true),
	Q29642875  = genrecat('Librerie C',                                    false),
	Q783866    = genrecat('Librerie JavaScript',                           false),
	Q29642950  = genrecat('Librerie Python',                               false),
	Q37045     = genrecat('Linguaggi di markup',                           true),
	Q29643051  = genrecat('Software per la masterizzazione'),
	Q210337    = genrecat('Lettori multimediali'),
	Q4892352   = genrecat('Software per la messaggistica istantanea'),
	Q1165574   = genrecat('Monitor di sistema'),
	Q758870    = genrecat('Software per il montaggio audio'),
	Q1373429   = genrecat('Software per montaggio video'),
	Q193564    = genrecat('Motore grafico'),
	Q1248874   = genrecat('Motori scacchistici'),
	Q1324042   = genrecat('Newsreader'),
	Q1088670   = genrecat('Software per P2P TV'),
	Q161410    = genrecat('Software per peer-to-peer'),
	Q1568118   = genrecat('Personal information manager'),
	Q29645725  = genrecat('Software per printer spooler',                  true), -- TODO: [[Discussioni categoria:Software per printer spooler]]
	Q64601     = genrecat('Software notazionali'),
	Q29647057  = genrecat('Software per ray tracing',                      true, false),
	Q3932296   = genrecat('RDBMS'),
	Q167555    = genrecat('Software per il riconoscimento ottico dei caratteri')
}

config.genre.alias = {}
config.genre.alias.slug = {
	['accesso remoto'] = 'Q1200186',
	['aggregatore']            = 'Q498267',
	['aggregatore di notizie'] = 'Q498267',
	['sviluppo videogiochi']                = 'Q29051918',
	['ambiente di sviluppo videogiochi']    = 'Q29051918',
	['ambiente di sviluppo di videogiochi'] = 'Q29051918',
	['analisi dati']     = nil,
	['analisi dei dati'] = nil,
	['analisi numerica'] = nil,
	['calcolo numerico'] = nil,
	['antispyware'] = nil,
	['antivirus'] = 'Q93249',
	['archiviazione']        = 'Q877886',
	['archiviatore']         = 'Q877886',
	['archiviatore di file'] = 'Q877886',
	['automazione dello sviluppo'] = 'Q2727468',
	['backup'] = 'Q194274',
	['base dati']    = 'Q8513',
	['base di dati'] = 'Q8513',
	['basi di dati'] = 'Q8513',
	['database']     = 'Q8513',
	['bioinformatica'] = 'Q128570',
	['bios'] = 'Q226264',
	['boot loader'] = 'Q836795',
	['bot irc'] = 'Q507703',
	['browser'] = 'Q6368',
	['cad'] = 'Q26203752',
	['calcolatrice'] = 'Q7554269',
	['calcolo distribuito'] = 'Q180634',
	['chatterbot'] = 'Q870780',
	['chemioinformatica'] = 'Q29156727',
	['chimica']           = 'Q29156727',
	['client di bittorrent'] = 'Q21577192',
	['client bittorrent']    = 'Q21577192',
	['posta elettronica'] = 'Q570871',
	['client di posta']   = 'Q570871',
	['cloud computing'] = 'Q1254596',
	['compilatore'] = 'Q47506',
	['composizione tipografica'] = 'Q15614008',
	['compressione dei dati'] = 'Q29157559',
	['compressione file']     = 'Q29157559',
	['archiviazione file']    = 'Q29157559',
	['computer-aided engineering'] = 'Q1050567',
	['cae'] =                        'Q1050567',
	['computer-aided process planning'] = 'Q1043936',
	['capp']                            = 'Q1043936',
	['computer-aided manufacturing'] = 'Q660192',
	['cam']                          = 'Q660192',
	['computer grafica'] = 'Q150971',
	['computer grafica 3d'] = 'Q189177',
	['comunicazione tra processi'] = 'Q751436',
	['content management system'] = 'Q131093',
	['cms']                       = 'Q131093',
	['sistema di controllo versione'] = 'Q3257930',
	['controllo versione']            = 'Q3257930',
	['revision control']              = 'Q3257930',
	['crittografia'] = 'Q5375622',
	['customer relationship management'] = 'Q485643',
	['crm']                              = 'Q485643',
	['database management system'] = 'Q176165',
	['dbms']                       = 'Q176165',
	['debugger'] = 'Q193231',
	['desktop environment'] = 'Q205020',
	['ambiente desktop']    = 'Q205020',
	['desktop publishing'] = 'Q29364197',
	['dpt']                = 'Q29364197',
	['desktop search'] = 'Q1138815',
	['digital audio workstation'] = 'Q1060750',
	['daw']                       = 'Q1060750',
	['document management system'] = 'Q831677',
	['dbms']                       = 'Q831677',
	['editor di testo'] = 'Q131212',
	['editor']          = 'Q131212',
	['editor html'] = 'Q726761',
	['editor web']  = 'Q726761',
	['educazione']    = 'Q1074158',
	['apprendimento'] = 'Q1074158',
	['e-learning']    = 'Q1074158',
	['edutainment'] = 'Q1153173',
	['elaboratore di formule'] = 'Q29480132',
	['elaboratore di presentazioni'] = 'Q2115026',
	['presentazioni']                = 'Q2115026',
	['elaborazione digitale delle immagini'] = 'Q1070689',
	['elaborazione immagini']                = 'Q1070689',
	['elaborazione delle immagini']          = 'Q1070689',
	['electronic design automation'] = 'Q1194864',
	['eda']                          = 'Q1194864',
	['enterprise content management'] = 'Q247423',
	['enterprise resource planning']            = 'Q131508',
	['pianificazione delle risorse d\'impresa'] = 'Q131508',
	['erp']                                     = 'Q131508',
	['firmware'] = 'Q104851',
	['foglio elettronico'] = 'Q183197',
	['spreadsheet']        = 'Q183197',
	['foglio di calcolo']  = 'Q183197',
	['forum'] = 'Q168210',
	['web framework'] = 'Q1330336',
	['framework di unit test']    = 'Q907375',
	['framework di unit testing'] = 'Q907375',
	['unit test']                 = 'Q907375',
	['unit testing']              = 'Q907375',
	['generatore di parser'] = 'Q1076785',
	['compiler-compiler']    = 'Q1076785',
	['geographic information system'] = 'Q483130',
	['gis']                           = 'Q483130',
	['gestore di download'] = 'Q565428',
	['download manager']    = 'Q565428',
	['gestore di immagini']    = 'Q860676',
	['gestore foto']           = 'Q860676',
	['gestore delle foto']     = 'Q860676', 
	['gestore delle immagini'] = 'Q860676',
	['gestore di partizioni'] = 'Q24877948',
	['installer'] = 'Q1464880',
	['integrated development environment'] = 'Q13741',
	['ambiente di sviluppo']               = 'Q13741',
	['ambiente di sviluppo integrato']     = 'Q13741',
	['ide']                                = 'Q13741',
	['interpolazione'] = 'Q15590034',
	['ebook reader'] =     'Q29642842',
	['lettore di ebook'] = 'Q29642842',
	['libreria python'] = 'Q29642950',
	['python']          = 'Q29642950',
	['linguaggio di markup'] = 'Q37045',
	['masterizzazione'] = 'Q29643051',
	['lettore multimediale'] = 'Q210337',
	['media player']         = 'Q210337',
	['messaggistica istantanea'] = 'Q4892352',
	['chat']                     = 'Q4892352',
	['instant messaging']        = 'Q4892352',
	['instant messenger']        = 'Q4892352',
	['monitor di sistema'] = 'Q1165574',
	['system monitor']     = 'Q1165574',
	['montaggio di audio digitale'] = 'Q758870',
	['montaggio audio digitale']    = 'Q758870',
	['editor di audio digitale']    = 'Q758870',
	['editor di file audio']        = 'Q758870',
	['montaggio video'] = 'Q1373429',
	['video editing']   = 'Q1373429',
	['motore grafico'] = 'Q193564',
	['motore scacchistico'] = 'Q1248874',
	['newsreader']  = 'Q1324042',
	['newsclient']  = 'Q1324042',
	['news client'] = 'Q1324042',
	['p2p tv'] = 'Q1088670',
	['peer-to-peer'] = 'Q161410',
	['p2p']          = 'Q161410',
	['peer 2 peer']  = 'Q161410',
	['peer to peer'] = 'Q161410',
	['file sharing'] = 'Q161410',
	['personal information manager'] = 'Q1568118',
	['printer spooler'] = 'Q29645725',
	['programma notazionale'] = 'Q64601',
	['software notazionale']  = 'Q64601',
	['notazionale']           = 'Q64601',
	['ray tracing'] = 'Q29647057',
	['relational database management system'] = 'Q3932296',
	['rdbms']                                 = 'Q3932296',
	['ocr']                                 = 'Q167555',
	['optical character recognition']       = 'Q167555',
	['riconoscimento ottico dei caratteri'] = 'Q167555'
}

config.genre.alias.wd = {
	Q1200186 = 'Q607297', -- remote desktop = remote desktop software
	Q184793 = 'Q26203752', -- computer-aided design = computer-aided design software
	Q15614005 = 'Q15614008', -- typesetting software = typographic software
	Q29642901 = 'Q29642875', -- C header file = C library
	Q1153173 = 'Q1074158',  -- edutainment = e-learning
	Q1388383 = 'Q29643051', -- optical disc authoring = optical disc authoring software
	Q10417670 = 'Q4892352', -- IRC client  = instant messaging client
	Q287198   = 'Q4892352', -- online chat = instant messaging client
}

return config