This module implements {{R:it:Treccani}}.


local export = {}

function export.create(frame) 
	 local params = {
		[1] = {default = mw.title.getCurrentTitle().text},
		[2] = {},
		["sense"] = {},
		["accessdate"] = {},
		["encyclopedia"] = {type = "boolean"}
	}
	local args = require("Module:parameters").process(frame:getParent().args, params)

	local strippedTerm = mw.ustring.toNFD(args[1])
			:gsub("[\204\128-\205\175]", "")  -- strip combining diacritical marks, U+0300-U+036F
			:gsub(' ', '-')
	local encodedTerm = mw.uri.encode(strippedTerm) 
	local sense = args["sense"] or ''
	
	if sense ~= '' then
		encodedTerm = encodedTerm .. sense
	end
	local title = (args[2] or args[1]):gsub('_', ' ')
	local type = args["encyclopedia"] and "enciclopedia" or "vocabolario"
    
    local link = "[https://www.treccani.it/" .. type .. "/" .. encodedTerm .. " " .. title
    	.. (sense and ('<sup>' .. sense .. '</sup>') or '')
    	.. "] " ..
    	"in Treccani.it – ''" .. mw.getLanguage("it"):ucfirst(type)  .. " Treccani on line'', Istituto dell'Enciclopedia Italiana" 

	return link
end

return export