Vai al contenuto

Modulo:Portale

Questa pagina è protetta dallo spostamento
Questa pagina è protetta
Da Wikipedia, l'enciclopedia libera.

Modulo Lua per svolgere le funzioni del template {{Portale}}


require('strict')

--esportazione delle funzioni del modulo
local p = {}

-- testo per il messaggio di errore se non ci sono parametri o sono tutti non esistenti
local novalid_parameter = {
	'Il [[Template:Portale]] necessita di almeno un argomento!',
	'Non sono stati inseriti portali validi nel [[Template:Portale]]'
}

-- Spazio da lasciare tra un portale e il successivo
local portal_gap = '8px';
-- layout per i portali (dato che le stringhe saranno usate in una funzione mw.ustring.format 
-- la coppia di caratteri '%s' è il segnaposto per una stringa, mentre per inserire il 
-- carattere % normalmente lo si deve inserire raddoppiato
local portal_half = '<div style="flex-basis: calc( 100%% / 2 - ' .. portal_gap .. ' / 2 );">%s</div>';
local portal_third = '<div style="flex-basis: calc( 100%% / 3 - ' .. portal_gap .. ' * 2/3 );">%s</div>';
local row_of_2 = portal_half .. portal_half;
local row_of_3 = portal_third .. portal_third .. portal_third;
local row_portals = {
	--1 portale (segnaposto vuoto, è gestito a parte)
	'',
	-- 2 portali
	row_of_2, 
	-- 3 portali
	row_of_3,
	--4 portali
	row_of_2 .. row_of_2,
	-- 5 portali
	row_of_3 .. row_of_2,
	--6 portali
	row_of_3 .. row_of_3
}

-- Stringhe specifiche per alcuni portali, quando questi sono gli unici del template
local single_portal = {
	['Astronomia'] = "accedi alle voci di Wikipedia che trattano di astronomia e astrofisica",
	['Chimica'] = "il portale della scienza della composizione, delle proprietà e delle trasformazioni della materia",
	['Comunità'] = "entra nella comunità degli autori di Wikipedia",
	['Festival di Sanremo'] = "accedi alle voci di Wikipedia che parlano del Festival di Sanremo",
	['I simpson'] = "accedi alle voci di Wikipedia su I simpson",
	['LGBTQ'] = "le voci di Wikipedia dedicate al mondo gay, lesbico, bisex, trans e queer",
	['Oggetti del profondo cielo'] = "accedi alle voci di Wikipedia che trattano di oggetti non stellari",
	['Portali'] = "accedi ai [[WP:Portale|portali]] di Wikipedia",
	['Progetti'] = "partecipa ai [[WP:Progetto|progetti]] di Wikipedia",
	['Punk'] = "accedi alle voci di Wikipedia che parlano di musica punk",
	['Seconda guerra mondiale'] = 'accedi alle voci di Wikipedia che parlano della seconda guerra mondiale',
	['Sistema solare'] = "accedi alle voci di Wikipedia sugli oggetti del Sistema solare",
	['Stelle'] = "accedi alle voci di Wikipedia che trattano di stelle e costellazioni",
	['Telematica'] = "accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete",
--geografia
	['Africa Orientale'] = "accedi alle voci di Wikipedia che parlano dell'Africa Orientale",
	['Albania'] = "accedi alle voci di Wikipedia che parlano dell'Albania",
	['Algeria'] = "accedi alle voci di Wikipedia che parlano dell'Algeria",
	['America'] = "accedi alle voci di Wikipedia che parlano delle Americhe",
	['Nordafrica'] = "accedi alle voci di Wikipedia che parlano del Nordafrica",
	['Unione Europea'] = "accedi alle voci di Wikipedia che trattano l'Unione Europea",
	['Unione europea'] = "accedi alle voci di Wikipedia che trattano l'Unione europea",
	['Antartide'] = "accedi alle voci di Wikipedia che parlano dell'Antartide",
	['Argentina'] = "accedi alle voci di Wikipedia che parlano dell'Argentina",
	['Arizona'] = "accedi alle voci di Wikipedia che parlano dell'Arizona",
	['Armenia'] = "accedi alle voci di Wikipedia che parlano dell'Armenia",
	['Armenia'] = "accedi alle voci di Wikipedia che parlano dell'Armenia",
	['Artide'] = "accedi alle voci di Wikipedia che parlano dell'Artide",
	['Asia'] = "accedi alle voci di Wikipedia che parlano dell'Asia",
	['Austria'] = "accedi alle voci di Wikipedia che parlano dell'Austria",
	['Azerbaigian'] = "accedi alle voci di Wikipedia che parlano dell'Azerbaigian",
	['Bangladesh'] = "accedi alle voci di Wikipedia che parlano del Bangladesh",
	['Belgio'] = "accedi alle voci di Wikipedia che parlano del Belgio",
	['Bergamo'] = "accedi alle voci di Wikipedia su Bergamo e sul suo territorio",
	['Bhutan'] = "accedi alle voci di Wikipedia che parlano del Bhutan",
	['Bielorussia'] = "accedi alle voci di Wikipedia che parlano della Bielorussia",
	['Birmania'] = "accedi alle voci di Wikipedia che parlano della Birmania",
	['Bolivia'] = "accedi alle voci di Wikipedia che parlano della Bolivia",
	['Bosnia ed Erzegovina'] = "accedi alle voci di Wikipedia che parlano della Bosnia ed Erzegovina",
	['Brasile'] = "accedi alle voci di Wikipedia che parlano del Brasile",
	['Bulgaria'] = "accedi alle voci di Wikipedia che parlano della Bulgaria",
	['California'] = "accedi alle voci di Wikipedia che parlano della California",
	['Cambogia'] = "accedi alle voci di Wikipedia che parlano della Cambogia",
	['Canada'] = "accedi alle voci di Wikipedia che parlano del Canada",
	['Cile'] = "accedi alle voci di Wikipedia che parlano del Cile",
	['Cina'] = "accedi alle voci di Wikipedia che parlano della Cina",
	['Città del Vaticano'] = "accedi alle voci di Wikipedia che parlano della Città del Vaticano",
	['Colombia'] = "accedi alle voci di Wikipedia che parlano della Colombia",
	['Corea'] = "accedi alle voci di Wikipedia che parlano della Corea",
	['Corea del Nord'] = "accedi alle voci di Wikipedia che parlano della Corea del Nord",
	['Corea del Sud'] = "accedi alle voci di Wikipedia che parlano della Corea del Sud",
	['Corsica'] = "accedi alle voci di Wikipedia che parlano della Corsica",
	['Costa Rica'] = "accedi alle voci di Wikipedia che parlano della Costa Rica",
	['Croazia'] = "accedi alle voci di Wikipedia che parlano della Croazia",
	['Dakota del Sud'] = "accedi alle voci di Wikipedia che parlano del Dakota del Sud",
	['Danimarca'] = "accedi alle voci di Wikipedia che parlano della Danimarca",
	['Ecuador'] = "accedi alle voci di Wikipedia che parlano dell'Ecuador",
	['Estonia'] = "accedi alle voci di Wikipedia che parlano dell'Estonia",
	['Europa'] = "accedi alle voci di Wikipedia che parlano dell'Europa",
	['Filippine'] = "accedi alle voci di Wikipedia che parlano delle Filippine",
	['Finlandia'] = "accedi alle voci di Wikipedia che parlano della Finlandia",
	['Francia'] = "accedi alle voci di Wikipedia che parlano della Francia",
	['Georgia'] = "accedi alle voci di Wikipedia che parlano della Georgia",
	['Germania'] = "accedi alle voci di Wikipedia che parlano della Germania",
	['Giappone'] = "accedi alle voci di Wikipedia che parlano del Giappone",
	['Gilgit-Baltistan'] = "accedi alle voci di Wikipedia che parlano del Gilgit-Baltistan",
	['Grecia'] = "accedi alle voci di Wikipedia che parlano della Grecia",
	['Guatemala'] = "accedi alle voci di Wikipedia che parlano del Guatemala",
	['Honduras'] = "accedi alle voci di Wikipedia che parlano dell’Honduras",
	['India'] = "accedi alle voci di Wikipedia che parlano dell'India",
	['Iran'] = "accedi alle voci di Wikipedia che parlano dell'Iran",
	['Irlanda'] = "accedi alle voci di Wikipedia che parlano dell'Irlanda",
	['Islanda'] = "accedi alle voci di Wikipedia che parlano dell'Islanda",
	['Israele'] = "accedi alle voci di Wikipedia che parlano d'Israele",
	['Kazakistan'] = "accedi alle voci di Wikipedia che parlano del Kazakistan",
	['Kirghizistan'] = "accedi alle voci di Wikipedia che parlano del Kirghizistan",
	['L\'Aquila'] = "accedi alle voci di Wikipedia che parlano dell'Aquila",
	['Lettonia'] = "accedi alle voci di Wikipedia che parlano della Lettonia",
	['Libano'] = "accedi alle voci di Wikipedia che parlano del Libano",
	['Lituania'] = "accedi alle voci di Wikipedia che parlano della Lituania",
	['Lussemburgo'] = "accedi alle voci di Wikipedia che parlano del Lussemburgo",
	['Macedonia del Nord'] = "accedi alle voci di Wikipedia che parlano della Macedonia del Nord",
	['Madagascar'] = "accedi alle voci di Wikipedia che parlano del Madagascar",
	['Maldive'] = "accedi alle voci di Wikipedia che parlano delle Maldive",
	['Marocco'] = "accedi alle voci di Wikipedia che parlano del Marocco",
	['Messico'] = "accedi alle voci di Wikipedia che parlano del Messico",
	['Moldavia'] = "accedi alle voci di Wikipedia che parlano della Moldavia",
	['Montana'] = "accedi alle voci di Wikipedia che parlano del Montana",
	['Montenegro'] = "accedi alle voci di Wikipedia che parlano del Montenegro",
	['Norvegia'] = "accedi alle voci di Wikipedia che parlano della Norvegia",
	['Nuovo Messico'] = "accedi alle voci di Wikipedia che parlano del Nuovo Messico",
	['Ohio'] = "accedi alle voci di Wikipedia che parlano dell'Ohio",
	['Paesi Bassi'] = "accedi alle voci di Wikipedia che parlano del Paesi Bassi",
	['Pakistan'] = "accedi alle voci di Wikipedia che parlano del Pakistan",
	['Perù'] = "accedi alle voci di Wikipedia che parlano del Perù",
	['Polonia'] = "accedi alle voci di Wikipedia che parlano della Polonia",
	['Portogallo'] = "accedi alle voci di Wikipedia che parlano del Portogallo",
	['Principato di Monaco'] = "accedi alle voci di Wikipedia che parlano del Principato di Monaco",
	['Regno Unito'] = "accedi alle voci di Wikipedia che parlano del Regno Unito",
	['Repubblica Ceca'] = "accedi alle voci di Wikipedia che parlano della Repubblica Ceca",
	['Romania'] = "accedi alle voci di Wikipedia che parlano della Romania",
	['Russia'] = "accedi alle voci di Wikipedia che parlano della Russia",
	['Scozia'] = "accedi alle voci di Wikipedia che parlano della Scozia",
	['Serbia'] = "accedi alle voci di Wikipedia che parlano della Serbia",
	['Slovacchia'] = "accedi alle voci di Wikipedia che parlano della Slovacchia",
	['Slovenia'] = "accedi alle voci di Wikipedia che parlano della Slovenia",
	['Spagna'] = "accedi alle voci di Wikipedia che parlano della Spagna",
	['Stati Uniti d\'America'] = "accedi alle voci di Wikipedia che parlano degli Stati Uniti d'America",
	['Svezia'] = "accedi alle voci di Wikipedia che parlano della Svezia",
	['Svizzera'] = "accedi alle voci di Wikipedia che parlano della Svizzera",
	['Texas'] = "accedi alle voci di Wikipedia che parlano del Texas",
	['Thailandia'] = "accedi alle voci di Wikipedia che parlano della Thailandia",
	['Ticino'] = "accedi alle voci di Wikipedia che parlano del Ticino",
	['Turchia'] = "accedi alle voci di Wikipedia che parlano della Turchia",
	['Turkmenistan'] = "accedi alle voci di Wikipedia che parlano del Turkmenistan",
	['Ucraina'] = "accedi alle voci di Wikipedia che parlano dell'Ucraina",
	['Ungheria'] = "accedi alle voci di Wikipedia che parlano dell'Ungheria",
	['Uruguay'] = "accedi alle voci di Wikipedia che parlano dell'Uruguay",
	['Uzbekistan'] = "accedi alle voci di Wikipedia che parlano dell'Uzbekistan",
	['Valle del Nilo'] = "accedi alle voci di Wikipedia che parlano della Valle del Nilo",
	['Venezuela'] = "accedi alle voci di Wikipedia che parlano del Venezuela",
	['Vietnam'] = "accedi alle voci di Wikipedia che parlano del Vietnam",
--provincie italiane
	['Provincia di Agrigento'] = "accedi alle voci di Wikipedia che parlano della Provincia di Agrigento",
	['Provincia di Alessandria'] = "accedi alle voci di Wikipedia che parlano della Provincia di Alessandria",
	['Provincia di Ancona'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ancona",
	['Provincia di Arezzo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Arezzo",
	['Provincia di Ascoli Piceno'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ascoli Piceno",
	['Provincia di Asti'] = "accedi alle voci di Wikipedia che parlano della Provincia di Asti",
	['Provincia di Avellino'] = "accedi alle voci di Wikipedia che parlano della Provincia di Avellino",
	['Provincia di Bari'] = "accedi alle voci di Wikipedia che parlano della Provincia di Bari",
	['Provincia di Barletta-Andria-Trani'] = "accedi alle voci di Wikipedia che parlano della Provincia di Barletta-Andria-Trani",
	['Provincia di Belluno'] = "accedi alle voci di Wikipedia che parlano della Provincia di Belluno",
	['Provincia di Benevento'] = "accedi alle voci di Wikipedia che parlano della Provincia di Benevento",
	['Provincia di Bergamo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Bergamo",
	['Provincia di Biella'] = "accedi alle voci di Wikipedia che parlano della Provincia di Biella",
	['Provincia di Bologna'] = "accedi alle voci di Wikipedia che parlano della Provincia di Bologna",
	['Provincia di Bolzano'] = "accedi alle voci di Wikipedia che parlano della Provincia di Bolzano",
	['Provincia di Brescia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Brescia",
	['Provincia di Brindisi'] = "accedi alle voci di Wikipedia che parlano della Provincia di Brindisi",
	['Provincia di Cagliari'] = "accedi alle voci di Wikipedia che parlano della Provincia di Cagliari",
	['Provincia di Caltanissetta'] = "accedi alle voci di Wikipedia che parlano della Provincia di Caltanissetta",
	['Provincia di Campobasso'] = "accedi alle voci di Wikipedia che parlano della Provincia di Campobasso",
	['Provincia di Carbonia-Iglesias'] = "accedi alle voci di Wikipedia che parlano della Provincia di Carbonia-Iglesias",
	['Provincia di Caserta'] = "accedi alle voci di Wikipedia che parlano della Provincia di Caserta",
	['Provincia di Catania'] = "accedi alle voci di Wikipedia che parlano della Provincia di Catania",
	['Provincia di Catanzaro'] = "accedi alle voci di Wikipedia che parlano della Provincia di Catanzaro",
	['Provincia di Chieti'] = "accedi alle voci di Wikipedia che parlano della Provincia di Chieti",
	['Provincia di Como'] = "accedi alle voci di Wikipedia che parlano della Provincia di Como",
	['Provincia di Cosenza'] = "accedi alle voci di Wikipedia che parlano della Provincia di Cosenza",
	['Provincia di Cremona'] = "accedi alle voci di Wikipedia che parlano della Provincia di Cremona",
	['Provincia di Crotone'] = "accedi alle voci di Wikipedia che parlano della Provincia di Crotone",
	['Provincia di Cuneo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Cuneo",
	['Provincia di Enna'] = "accedi alle voci di Wikipedia che parlano della Provincia di Enna",
	['Provincia di Fermo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Fermo",
	['Provincia di Ferrara'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ferrara",
	['Provincia di Firenze'] = "accedi alle voci di Wikipedia che parlano della Provincia di Firenze",
	['Provincia di Foggia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Foggia",
	['Provincia di Forlì-Cesena'] = "accedi alle voci di Wikipedia che parlano della Provincia di Forlì-Cesena",
	['Provincia di Frosinone'] = "accedi alle voci di Wikipedia che parlano della Provincia di Frosinone",
	['Provincia di Genova'] = "accedi alle voci di Wikipedia che parlano della Provincia di Genova",
	['Provincia di Gorizia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Gorizia",
	['Provincia di Grosseto'] = "accedi alle voci di Wikipedia che parlano della Provincia di Grosseto",
	['Provincia di Imperia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Imperia",
	['Provincia di Isernia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Isernia",
	['Provincia di La Spezia'] = "accedi alle voci di Wikipedia che parlano della Provincia di La Spezia",
    ['Provincia dell\'Aquila'] = "accedi alle voci di Wikipedia che parlano della Provincia dell\'Aquila",
	['Provincia di Latina'] = "accedi alle voci di Wikipedia che parlano della Provincia di Latina",
	['Provincia di Lecce'] = "accedi alle voci di Wikipedia che parlano della Provincia di Lecce",
	['Provincia di Lecco'] = "accedi alle voci di Wikipedia che parlano della Provincia di Lecco",
	['Provincia di Livorno'] = "accedi alle voci di Wikipedia che parlano della Provincia di Livorno",
	['Provincia di Lodi'] = "accedi alle voci di Wikipedia che parlano della Provincia di Lodi",
	['Provincia di Lucca'] = "accedi alle voci di Wikipedia che parlano della Provincia di Lucca",
	['Provincia di Macerata'] = "accedi alle voci di Wikipedia che parlano della Provincia di Macerata",
	['Provincia di Mantova'] = "accedi alle voci di Wikipedia che parlano della Provincia di Mantova",
	['Provincia di Massa-Carrara'] = "accedi alle voci di Wikipedia che parlano della Provincia di Massa-Carrara",
	['Provincia di Matera'] = "accedi alle voci di Wikipedia che parlano della Provincia di Matera",
	['Provincia di Messina'] = "accedi alle voci di Wikipedia che parlano della Provincia di Messina",
	['Provincia di Milano'] = "accedi alle voci di Wikipedia che parlano della Provincia di Milano",
	['Provincia di Modena'] = "accedi alle voci di Wikipedia che parlano della Provincia di Modena",
	['Provincia di Monza e della Brianza'] = "accedi alle voci di Wikipedia che parlano della Provincia di Monza e della Brianza",
	['Provincia di Napoli'] = "accedi alle voci di Wikipedia che parlano della Provincia di Napoli",
	['Provincia di Novara'] = "accedi alle voci di Wikipedia che parlano della Provincia di Novara",
	['Provincia di Nuoro'] = "accedi alle voci di Wikipedia che parlano della Provincia di Nuoro",
	['Provincia di Olbia-Tempio'] = "accedi alle voci di Wikipedia che parlano della Provincia di Olbia-Tempio",
	['Provincia di Oristano'] = "accedi alle voci di Wikipedia che parlano della Provincia di Oristano",
	['Provincia di Padova'] = "accedi alle voci di Wikipedia che parlano della Provincia di Padova",
	['Provincia di Palermo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Palermo",
	['Provincia di Parma'] = "accedi alle voci di Wikipedia che parlano della Provincia di Parma",
	['Provincia di Pavia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pavia",
	['Provincia di Perugia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Perugia",
	['Provincia di Pesaro e Urbino'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pesaro e Urbino",
	['Provincia di Pescara'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pescara",
	['Provincia di Piacenza'] = "accedi alle voci di Wikipedia che parlano della Provincia di Piacenza",
	['Provincia di Pisa'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pisa",
	['Provincia di Pistoia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pistoia",
	['Provincia di Pordenone'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pordenone",
	['Provincia di Potenza'] = "accedi alle voci di Wikipedia che parlano della Provincia di Potenza",
	['Provincia di Prato'] = "accedi alle voci di Wikipedia che parlano della Provincia di Prato",
	['Provincia di Ragusa'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ragusa",
	['Provincia di Ravenna'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ravenna",
	['Provincia di Reggio Calabria'] = "accedi alle voci di Wikipedia che parlano della Provincia di Reggio Calabria",
	['Provincia di Reggio Emilia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Reggio Emilia",
	['Provincia di Rieti'] = "accedi alle voci di Wikipedia che parlano della Provincia di Rieti",
	['Provincia di Rimini'] = "accedi alle voci di Wikipedia che parlano della Provincia di Rimini",
	['Provincia di Roma'] = "accedi alle voci di Wikipedia che parlano della Provincia di Roma",
	['Provincia di Rovigo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Rovigo",
	['Provincia di Salerno'] = "accedi alle voci di Wikipedia che parlano della Provincia di Salerno",
	['Provincia di Medio Campidano'] = "accedi alle voci di Wikipedia che parlano della Provincia di Medio Campidano",
	['Provincia di Sassari'] = "accedi alle voci di Wikipedia che parlano della Provincia di Sassari",
	['Provincia di Savona'] = "accedi alle voci di Wikipedia che parlano della Provincia di Savona",
	['Provincia di Siena'] = "accedi alle voci di Wikipedia che parlano della Provincia di Siena",
	['Provincia di Siracusa'] = "accedi alle voci di Wikipedia che parlano della Provincia di Siracusa",
	['Provincia di Sondrio'] = "accedi alle voci di Wikipedia che parlano della Provincia di Sondrio",
	['Provincia di Taranto'] = "accedi alle voci di Wikipedia che parlano della Provincia di Taranto",
	['Provincia di Teramo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Teramo",
	['Provincia di Terni'] = "accedi alle voci di Wikipedia che parlano della Provincia di Terni",
	['Provincia di Torino'] = "accedi alle voci di Wikipedia che parlano della Provincia di Torino",
	['Provincia di Ogliastra'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ogliastra",
	['Provincia di Trapani'] = "accedi alle voci di Wikipedia che parlano della Provincia di Trapani",
	['Provincia di Trento'] = "accedi alle voci di Wikipedia che parlano della Provincia di Trento",
	['Provincia di Treviso'] = "accedi alle voci di Wikipedia che parlano della Provincia di Treviso",
	['Provincia di Trieste'] = "accedi alle voci di Wikipedia che parlano della Provincia di Trieste",
	['Provincia di Udine'] = "accedi alle voci di Wikipedia che parlano della Provincia di Udine",
	['Provincia di Varese'] = "accedi alle voci di Wikipedia che parlano della Provincia di Varese",
	['Provincia di Venezia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Venezia",
	['Provincia del Verbano-Cusio-Ossola'] = "accedi alle voci di Wikipedia che parlano della Provincia del Verbano-Cusio-Ossola",
	['Provincia di Vercelli'] = "accedi alle voci di Wikipedia che parlano della Provincia di Vercelli",
	['Provincia di Verona'] = "accedi alle voci di Wikipedia che parlano della Provincia di Verona",
	['Provincia di Vibo Valentia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Vibo Valentia",
	['Provincia di Vicenza'] = "accedi alle voci di Wikipedia che parlano della Provincia di Vicenza",
	['Provincia di Viterbo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Viterbo",
-- regioni italiane
	['Abruzzo'] = "accedi alle voci di Wikipedia che parlano dell'Abruzzo",
	['Basilicata'] = "accedi alle voci di Wikipedia che parlano della Basilicata",
	['Campania'] = "accedi alle voci di Wikipedia che parlano della Campania",
	['Calabria'] = "accedi alle voci di Wikipedia che parlano della Calabria",
	['Emilia-Romagna'] = "accedi alle voci di Wikipedia che parlano dell'Emilia-Romagna",
	['Friuli-Venezia Giulia'] = "accedi alle voci di Wikipedia che parlano del Friuli-Venezia Giulia",
	['Lazio'] = "accedi alle voci di Wikipedia che parlano del Lazio",
	['Liguria'] = "accedi alle voci di Wikipedia che parlano della Liguria",
	['Lombardia'] = "accedi alle voci di Wikipedia che parlano della Lombardia",
	['Marche'] = "accedi alle voci di Wikipedia che parlano delle Marche",
	['Molise'] = "accedi alle voci di Wikipedia che parlano del Molise",
	['Piemonte'] = "accedi alle voci di Wikipedia che parlano del Piemonte",
	['Puglia'] = "accedi alle voci di Wikipedia che parlano della Puglia",
	['Sardegna'] = "accedi alle voci di Wikipedia che parlano della Sardegna",
	['Sicilia'] = "accedi alle voci di Wikipedia che parlano della Sicilia",
	['Toscana'] = "accedi alle voci di Wikipedia che parlano della Toscana",
	['Trentino-Alto Adige'] = "accedi alle voci di Wikipedia che parlano del Trentino-Alto Adige",
	['Umbria'] = "accedi alle voci di Wikipedia che parlano dell'Umbria",
	['Valle d\'Aosta'] = "accedi alle voci di Wikipedia che parlano della Valle d\'Aosta",
	['Veneto'] = "accedi alle voci di Wikipedia che parlano del Veneto",
}

-- funzione di utilità per aggiungere elementi a una tabella
local function dump(t, ...)
	local args = {...}
	for _, s in ipairs(args) do
		table.insert(t, s)
	end
end

-- Wrapper di mw.title.exists, verifica sia che name sia valido, sia che esista
local function titleExists(name)
	local title = mw.title.new(name)
	return title and title.exists
end

-- restituisce una categoria di errore solo in ns0
local function get_error_category()
	return mw.title.getCurrentTitle().namespace == 0 and
		   '[[Categoria:Errori di compilazione del template Portale]]' or ''
end

-- funzione princpale
function p.portale(frame)
	local getArgs = require('Module:Arguments').getArgs
	local args = getArgs(frame, {removeBlanks = false})
	local lang = mw.language.getContentLanguage()
	local portals = {}
	local bad_portals = {}
	-- tabella per raccogliere gli errori
	local errors_msg = {}

	-- raccoglie in portals e bad_portals i nomi dei portali passati al modulo,
	-- ignorando quelli valorizzati a stringa vuota
	for i, arg in ipairs(args) do
		if arg ~= '' then
			if #portals < 6 then
				local ucarg = lang:ucfirst(arg)
				if titleExists('Portale:' .. ucarg) then
					table.insert(portals, { ucname=ucarg, name=arg })
				else
					table.insert(bad_portals, ucarg)
				end
			else
				dump(errors_msg, 'Il template accetta al massimo sei portali')
				break
			end
		end
	end

	-- ritorna un messaggio di errore se non sono rimasti portali validi
	if #portals == 0 then
		return mw.getCurrentFrame():expandTemplate({
					title = 'avviso',
					args = { tipo = 'importante',
							 testo= novalid_parameter[(#bad_portals == 0 and 1) or 2]
							}
					}) .. get_error_category()
	end
	-- ordina alfabeticamente i nomi
	table.sort(portals, function(a, b) return a.ucname < b.ucname end)
	local reply = {
		'<div class="noprint" style="width:100%; padding: 3px 0; display: flex; flex-wrap: wrap; row-gap: 4px; column-gap: ' .. portal_gap .. '; box-sizing: border-box;">'
	}
	-- Se un solo portale valido tratto a parte
	if #portals == 1 then
		local ucname = portals[1].ucname
		dump(reply, '<div style="flex-grow: 1">', mw.getCurrentFrame():expandTemplate({
				title = 'Occhiello',
				args = { icona = portals[1].ucname,
						 titolo = mw.ustring.format('[[Portale:%s|Portale %s]]', ucname, ucname),
						 frase = single_portal[ucname] or mw.ustring.format('accedi alle voci di Wikipedia che trattano di %s', portals[1].name)
					}
				}), '</div>')
	else -- da 2 a 6 portali
		-- genero tutti gli occhielli di collegamento in una lista
		local text = {}
		for _,portal in ipairs(portals) do
			text[#text+1] = mw.getCurrentFrame():expandTemplate({
					title = 'Occhiello',
					args = { icona = portal.ucname,
							 titolo = mw.ustring.format('[[Portale:%s|Portale %s]]', portal.ucname, portal.ucname)
						}
					})
		end
		-- carica gli occhielli generati nella tabella di layout
		dump(reply, mw.ustring.format(row_portals[#portals], unpack(text)))
	end
	dump(reply, '</div>')
	-- aggiunge i messaggi di errore per portali non esistenti
	if #bad_portals > 0 then
		if #bad_portals == 1 then
			dump(errors_msg, mw.ustring.format('Il portale %s non esiste', bad_portals[1]))
		else
			dump(errors_msg, mw.ustring.format('I portali: %s non esistono', mw.text.listToText(bad_portals) ))
		end
	end
	for pos, msg in ipairs(errors_msg) do
		errors_msg[pos] = mw.ustring.format('<strong class="error">%s</strong>', msg)
	end
	local error_msg = table.concat(errors_msg, '<br />')
	if #errors_msg > 0 then
		error_msg = error_msg .. get_error_category()
	end
	return table.concat(reply) .. error_msg
end

return p
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy