Info Istruzioni per l'uso
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Livello/man (modifica · cronologia)
Sandbox: Modulo:Livello/sandbox (modifica · cronologia) · Test: Modulo:Livello/test (modifica · cronologia · Esegui)

Vedi anche


--[[
	Source script:	https://it.wikivoyage.org/wiki/Modulo:Livello
	Maintainer:		Andyrom75
]]
local function _templateStyle( frame, src )
   return frame:extensionTag( 'templatestyles', '', { src = src } )
end

local function _livello(frame)
	local args = frame.args
	local configBase = {
			[1] = "'''[[Wikivoyage:Abbozzo|Bozza]]''': ",
			[2] = "'''[[Wikivoyage:Usabile|Usabile]]''': ",
			[3] = "'''[[Wikivoyage:Guida|Guida]]''': ",
			[4] = "'''[[Wikivoyage:Vetrina|Vetrina]]''': ",
			default = "Va specificato il [[Template:Livello|livello]] dell'articolo aggiungendo <code><nowiki>|livello=</nowiki></code> seguito da un valore compreso fra 1 e 4."
	}
	local testo = {
		Continente = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarRegion|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene abbastanza informazioni per dare un'idea generale sul continente e offre una descrizione di possibili mete.",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente la comprensione delle peculiarità del continente. L'articolo contiene un adeguato numero di immagini e descrizioni complete dei punti di interesse. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		['Regione continentale'] = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarRegion|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene abbastanza informazioni per dare un'idea generale sulla regione e offre una descrizione di possibili mete.",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi una visita alla regione. L'articolo contiene un adeguato numero di immagini e descrizioni complete dei punti di interesse. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		Stato = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarCountry|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene abbastanza informazioni per dare un'idea generale sullo Stato. Offre informazioni sulla cultura e sulle principali attrazioni presenti.",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi una visita allo Stato. L'articolo contiene un adeguato numero di immagini e descrizioni complete dei punti di interesse. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		['Regione nazionale'] = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarRegion|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene abbastanza informazioni per dare un'idea generale sulla regione e offre una descrizione di possibili mete.",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi una visita alla regione. L'articolo contiene un adeguato numero di immagini e descrizioni complete dei punti di interesse. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		['Città'] = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarCity|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene abbastanza informazioni per consentire una breve visita alla città. Utilizza correttamente i ''[[Template:Listing|listing]]'' (la giusta tipologia nelle giuste sezioni).",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi una visita alla città. L'articolo contiene un adeguato numero di immagini, un discreto numero di listing. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		Distretto = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarDistrict|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene abbastanza informazioni per consentire una breve visita al distretto. Utilizza correttamente i ''[[Template:Listing|listing]]'' (la giusta tipologia nelle giuste sezioni).",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi una visita al distretto. L'articolo contiene un adeguato numero di immagini, un discreto numero di listing. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		Parco = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarPark|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene informazioni su come arrivare, sulle principali attrazioni o attività da svolgere e sui biglietti e orari d'accesso.",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi una visita al Parco. L'articolo contiene un adeguato numero di immagini, un discreto numero di listing. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		['Sito archeologico'] = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarArch|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene informazioni su come arrivare, sulle principali attrazioni o attività da svolgere e sui biglietti e orari d'accesso.",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi una visita al Sito archeologico. L'articolo contiene un adeguato numero di immagini, un discreto numero di listing. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		Monte = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarMount|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene informazioni su come arrivare e sulle principali attrazioni o attività da svolgere.",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi una visita al monte. L'articolo contiene un adeguato numero di immagini, un discreto numero di listing. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		["Massa d'acqua"] = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarWater|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene informazioni su come arrivare e sulle principali attrazioni o attività da svolgere.",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi una visita alla destinazione turistica. L'articolo contiene un adeguato numero di immagini, un discreto numero di listing. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		Frasario = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). Il [[Template:Quickfooter|piè pagina]] è correttamente compilato.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene le le informazioni di base per comunicare le proprie necessità in questa lingua. ",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni per comunicare le proprie necessità in questa lingua. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		Itinerario = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarItinerary|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene abbastanza informazioni per consentire lo svolgimento dell'itinerario.",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi lo svolgimento dell'itinerario. L'articolo contiene un adeguato numero di immagini e la descrizione delle tappe è esaustiva. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		Tematica = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe) che dà un'indicazione sommaria sulla tematica trattata. Il [[Template:Quickfooter|piè pagina]] è correttamente compilato.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma la maggior parte delle sezioni ha contenuti. Nel complesso ha almeno una buona panoramica dell'argomento.",
			['3'] = configBase[3] .. "L'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più copre efficacemente la maggior parte degli aspetti dell'argomento senza evidenti omissioni. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		Sentiero = {
			['1'] = configBase[1] .. "l'articolo rispetta il modello standard e ha almeno una sezione con informazioni utili (anche se di poche righe). [[Template:QuickbarPath|Intestazione]] e [[Template:Quickfooter|piè pagina]] sono correttamente compilati.",
			['2'] = configBase[2] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Abbozzo|bozza]] ma in più contiene abbastanza informazioni per consentire lo svolgimento del sentiero.",
			['3'] = configBase[3] .. "l'articolo rispetta le caratteristiche di un articolo [[Wikivoyage:Usabile|usabile]] ma in più contiene molte informazioni e consente senza problemi lo svolgimento del sentiero. L'articolo contiene un adeguato numero di immagini e la descrizione delle tappe è esaustiva. Non sono presenti errori di stile.",
			['4'] = configBase[4] .. "l'articolo rispetta le caratteristiche di una [[Wikivoyage:Guida|guida]] e le sue sezioni sono estremamente complete.",
			default = configBase.default
		},
		default = {
			['1'] = "'''[[Wikivoyage:Abbozzo|Bozza]]''' - Specificare la tipologia di articolo",
			['2'] = "'''[[Wikivoyage:Usabile|Usabile]]''' - Specificare la tipologia di articolo",
			['3'] = "'''[[Wikivoyage:Guida|Guida]]''' - Specificare la tipologia di articolo",
			['4'] = "'''[[Wikivoyage:Vetrina|Vetrina]]''' - Specificare la tipologia di articolo",
			default = "Va specificato il tipo dell'articolo aggiungendo <code><nowiki>|tipo=</nowiki></code>.<br />" .. configBase.default
		}
	}

	local tipo2BUsed = (testo[args.tipo] and args.tipo) or 'default'
	local livello2BUsed = (testo[tipo2BUsed][args['1']] and args['1']) or (testo[tipo2BUsed][args.livello] and args.livello) or 'default'
	local immagine = {
		['1'] = '[[File:1-4 star.svg|link=|30px|'.. tipo2BUsed ..']]',
		['2'] = '[[File:2-4 star.svg|link=|30px|'.. tipo2BUsed ..']]',
		['3'] = '[[File:3-4 star.svg|link=|30px|'.. tipo2BUsed ..']]',
		['4'] = '[[File:4-4 star.svg|link=|30px|'.. tipo2BUsed ..']]',
		default = '[[File:0-4 star.svg|link=|30px|'.. tipo2BUsed ..']]'
	}
	local categoria = {
		['1'] = tipo2BUsed .. ' - Abbozzi',
		['2'] = tipo2BUsed .. ' - Articoli usabili',
		['3'] = tipo2BUsed .. ' - Guide',
		['4'] = tipo2BUsed .. ' - Articoli in vetrina',
		default = tipo2BUsed .. ' - Articoli senza livello'
	}
	local output = mw.html.create('table')
		:addClass( 'qb noprint livello-riquadro' )
	output:tag( 'tr' )
		:tag( 'td' )
		:addClass( 'livello-immagine' )
		:wikitext( immagine[livello2BUsed] )
		:done()
		:tag( 'td' )
		:wikitext( testo[tipo2BUsed][livello2BUsed] )
	output = tostring(output)
	-- Categorizzo solo il NS principale in presenza di un tipo valido
	if (mw.title.getCurrentTitle().namespace == 0) and (tipo2BUsed ~= 'default') then
		output = output .. '[[Categoria:' .. categoria[livello2BUsed] .. ']]'
	end
	return _templateStyle( frame, 'Livello/styles.css' ) .. output
end

local p = {}

function p.livelloTemplate(frame)
	return _livello(frame:getParent())
end

function p.livello(livello, tipo)
	local frame = mw.getCurrentFrame()
	frame.args = {livello=livello, tipo=tipo}
	return _livello(frame)
end

return p