Modulo:Fonte

Hello, you have come here looking for the meaning of the word Modulo:Fonte. In DICTIOUS you will not only get to know all the dictionary meanings for the word Modulo:Fonte, but we will also tell you about its etymology, its characteristics and you will know how to say Modulo:Fonte in singular and plural. Everything you need to know about the word Modulo:Fonte you have here. The definition of the word Modulo:Fonte will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModulo:Fonte, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

La documentazione per questo modulo può essere creata in Modulo:Fonte/man

-- Moduli utili per il template Fonte divisi per dizionario
local p = {}
local titolo = mw.title.getCurrentTitle().subpageText

--[[ Funzione che toglie gli accenti "normalizzando" le lettere, usato nei template:
Fonte/sin-co;
Fonte/Sabco;
Fonte/dem;
Fonte/rep;
--]]

function p.senzaccenti(arg)
	if type(arg) ~= 'string' and arg.args ~= nil and arg.args ~= nil then
		arg = arg.args
	end
	if type(arg) ~= 'string' then
		error('Specificare un parametro di tipo stringa')
		return nil
	end
	arg = mw.ustring.gsub(arg, '', 'a')
	arg = mw.ustring.gsub(arg, '', 'e')
	arg = mw.ustring.gsub(arg, '', 'i')
	arg = mw.ustring.gsub(arg, '', 'o')
	arg = mw.ustring.gsub(arg, '', 'u')
	return arg
end

--[[ encode_url: 
Sostituisce le lettere accentate con l'equivalente UTF-8 (es: "%EO" per "à"). Usato da:
 Fonte/italwn
--]]
function p.encode_url(arg)
	local accenti = require('Modulo:Fonte/Accenti UTF-8')
	arg = arg.args
	return accenti.accenti(arg)

end	

--[[ encode_HEXA: 
Sostituisce le lettere accentate con l'equivalente in esadecimale. Usato da:
 -
 preso da http://lua-users.orghttps://dictious.com/it/StringRecipes
--]]
function p.encode_HEXA(arg)
	arg = arg.args
	
	if arg then
      arg = arg:gsub("\n", "\r\n")
      arg = arg:gsub("()", function(c)
         return ("%%%02X"):format(string.byte(c))
      end)
      arg = arg:gsub(" ", "+")
   end
   return arg
end

--[[ Hoep: 
sostituisce il testo racchidendolo tra i caratteri" +(...)", indispensabile in caso di omonimie
 Nel caso sia scritto un parametro con una cifra, esempio "parametro2", questa funzione permette di isolare le lettere, sostituire i "_" con i "+" e cancellare i numeri. Usato nei template:
 Fonte/hoep
--]]

function p.hoepTesto(frame)
	local par1 = frame.args
	local par2 = mw.ustring.gsub(par1, '%d', '') -- Cancella i numeri
	local res = titolo -- Se non ci sono lettere mostra il titolo della pagina

	if par2 ~= "" then -- Controlla se ci sono delle lettere 
		res = par2 -- Se ci sono lettere vuol dire che è stato specificato il primo parametro, quindi lo mostra
	end
	return mw.ustring.sub(res, 0, 1):upper() .. '/' .. mw.uri.encode(res, 'PATH') -- Appropriata codifica dell'indirizzo
end

function p.hoepNum(frame)
	par1 = frame.args
	par3 = mw.ustring.gsub(par1, '%d', '') -- Cancella tutti i numeri
	par2 = mw.ustring.gsub(par1, '%a', '') -- Cancella tutte le lettere

	if par3 ~= "" then  --se ci sono delle lettere
		if par2 > "0" then  
			return mw.uri.encode(par3 .. ' (' .. par2 ..  ')')
		else
			return mw.uri.encode(par3)
		end
	else
		if par2 > "0" then -- se non ci sono lettere 
			return mw.uri.encode(titolo .. ' (' .. par2 ..  ')')
		else
			return mw.uri.encode(titolo)
		end
	end
end

--[[ Sabco: 
sostituisce tutte le lettere accentate con le rispettive lettere private dell'accento e sostituisce tutti gli spazi con il "_" necessario per linkare correttamente. Usato nei template:
Fonte/sin-co;
Fonte/Sabco;
--]]

function p.SabCo(frame)
	t2 = p.senzaccenti(titolo)
	t2 = mw.ustring.gsub(t2, ' ', '_') -- Sostituisce i "_" se non è specificata la pagina
	par = p.senzaccenti(frame.args)
	par = mw.ustring.gsub(par, ' ', '_') -- Sostituisce i "_" al primo parametro

	lett = mw.ustring.gsub(par, '%d', '') -- Cancella tutti i numeri
	num  = mw.ustring.gsub(par, '%a', '') -- Cancella tutte le lettere

	if lett ~= "" then  --se ci sono delle lettere
		if num > "0" then  
			return   lett , '_' .. num ..  ''
		else
			return  lett
		end
	else
		if num > "0" then -- se non ci sono lettere 
			return  t2 , '_' .. num ..  ''
		else
			return  t2
		end
	end
end

--[[ Dem: 
sostituisce tutte le lettere accentate con le rispettive lettere private dell'accento e sostituisce tutti gli spazi con il "-" necessario per linkare correttamente. Usato nei template:
Fonte/dem;
--]]

function p.dem(frame)
	titolo2 = p.senzaccenti(titolo)
	titolo2 = mw.ustring.gsub(titolo2, '%s', '-') -- Sostituisce gli spazi nel titolo senza accenti con i "_"
	parametro = p.senzaccenti(frame.args)
	parametro = mw.ustring.gsub(parametro, '%s', '-') -- Sostituisce gli spazi nel parametro arbitrario con i "_"

	lettere = mw.ustring.gsub(parametro, '%d', '') -- Cancella tutti i numeri
	numeri  = mw.ustring.gsub(parametro, '%a', '') -- Cancella tutte le lettere

	if lettere ~= "" then  --se ci sono delle lettere
		if numeri > "0" then  
			return   lettere , '_' .. numeri ..  ''
		else
			return  lettere
		end
	else
		if numeri > "0" then -- se non ci sono lettere ma numeri sì 
			return  titolo2 , '_' .. numeri ..  ''
		else
			return  titolo2
		end
	end
end

--[[ Dizit: 
sostituisce tutte le lettere accentate con le rispettive lettere private dell'accento e costruisce il link tenendo conto anche delle omonimie. Usato nei template:
Fonte/dizit;
--]]

function p.dizit(frame)
	titolo2 = p.senzaccenti(titolo)
	titolo2 = titolo2:upper()
	parametro = p.senzaccenti(frame.args)
	parametro = parametro:upper()

	lettere = mw.ustring.gsub(parametro, '%d', '') -- Mantiene solo le lettere
	numeri  = mw.ustring.gsub(parametro, '%a', '') -- Cancella tutte le lettere
	
	if numeri ~= '' then
		numero = numeri..'00'
	else
		numero = '100'
	end
	
	-- Se il parametro non è vuoto e ci sono lettere
	if lettere ~= '' then
		return lettere..''..numero
	else
		return titolo2..''..numero
	end
	
end

--[[ Trec: 
sostituisce tutte le lettere accentate con le rispettive lettere private dell'accento e sostituisce tutti gli spazi con il "-" necessario per linkare correttamente. Usato nei template:
Fonte/trec;
--]]
--[[

								FUNZIONE DEPRECATA DOPO AGGIORNAMENTO DEL SITO DELLA TRECCANI


function p.trec(frame)
	titolo2 = p.senzaccenti(titolo)
	titolo2 = mw.ustring.gsub(titolo2, '%s', '-') -- Sostituisce gli spazi nel titolo senza accenti con i "-"
	parametro = p.senzaccenti(frame.args)
	parametro = mw.ustring.gsub(parametro, '%s', '-') -- Sostituisce gli spazi nel parametro arbitrario con i "-"

	lettere = mw.ustring.gsub(parametro, '%d', '') -- Cancella tutti i numeri
	numeri  = mw.ustring.gsub(parametro, '%a', '') -- Cancella tutte le lettere

	if lettere ~= "" then  --se ci sono delle lettere
		if numeri > "0" then  
			return   lettere , numeri
		else
			return  lettere
		end
	else
		if numeri > "0" then -- se non ci sono lettere ma numeri sì 
			return  titolo2 , numeri 
		else
			return  titolo2
		end
	end
end

--]]

--[[ mdbg: 
Analizza il testo inserito e taglia l'eventuale testo "zh-tc" dal parametro inserito e poi smista il testo in base al risultato. Usato nei template:
Fonte/mdgb;
--]]

function p.mdbgTesto(frame)
    par1=frame.args
    par2 = mw.ustring.gsub(par1, '(+)(-(+-+))', '%1'); 
    
	if par1 ~= "" then
		if par1 == "zh-tc" then  -- Controlla se è stato specificato soltanto "zh-tc"
			return titolo -- se non è stato specificato niente restituisce il titolo della pagina
		else
			return par2 -- se è stato specificato altro lo visualizza
		end
	else
		return titolo -- se è stato specificato altro lo visualizza
	end
end
 

function p.mdbgSuff(frame)
    par1=frame.args
    par2 = mw.ustring.gsub(par1, '(+)(-(+-+))', '%3'); 
    
	if par1 ~= "" then
		if par2 == "zh-tc" then  -- Controlla se è stato specificato soltanto "zh-tc"
			return '1' -- se non è stato specificato niente restituisce il titolo della pagina
		else
			return '0' -- se è stato specificato altro lo visualizza
		end
	else
		return '0' -- se è stato specificato altro lo visualizza
	end
end

return p