local getArgs = require('Modulo:Arguments').getArgs
local cfg = mw.title.new('Modulo:Sandbox/Horcrux/AggNaz/Configurazione.json'):getContent()

local p = {}

-- La funzione prende un articolo o una preposizione e la restituisce indietro con uno spazio alla fine, qualora necessario
local function aggiungiSpazioFinale(artPrep)
	local tabellaArtPrep = {
		'il','lo','la','i','gli','le',
		'in','nel','nello','nella','nei','negli','nelle',
		'di','del','dello','della','dei','degli','delle'
	}
	
	for index, value in ipairs(tabellaArtPrep) do
		if value == artPrep then
			return artPrep .. ' '
		end
	end
	
	return artPrep
end

function p.AggNaz(frame)
	local args = getArgs(frame)
	local comando = string.lower(args[1])
	local nazione = string.upper(args[2])
	local tabellaNazione = mw.text.jsonDecode(cfg)[nazione]
	
	if tabellaNazione == nil then return ''
	elseif comando == 'ok' then return 'sì'
	end
	
	local risultato = tabellaNazione[comando]
	
	if comando == 'art' or comando == 'in' or comando == 'di' then
		return aggiungiSpazioFinale(risultato)
	else
		return risultato
	end
end

return p