Modulo:Partidisc

Da Wikizionario, il dizionario a contenuto aperto.
Jump to navigation Jump to search

Questo modulo converte le abbreviazioni standard utilizzate sul wikizionario per le parti del discorso (ovvero queste alias queste) nella corrispondente versione estesa; può essere richiamato direttamente in un template oppure utilizzato in un altro modulo. Si compone di tre funzioni che restituiscono risultati diversi:

  • La funzione partidiscsing restituisce, per un'abbreviazione, la corrispondente parte del discorso al singolare; ad es. scrivere {{#invoke:Partidisc|partidiscsing|sost}} restituisce sostantivo.
  • La funzione partidiscplur restituisce, per un'abbreviazione, la corrispondente parte del discorso al plurale; ad es. scrivere {{#invoke:Partidisc|partidiscplur|sost}} restituisce sostantivi.
  • La funzione partidiscprep restituisce, per un'abbreviazione, la corrispondente parte del discorso al plurale e preceduta dalla preposizione articolata; ad es. scrivere {{#invoke:Partidisc|partidiscprep|sost}} restituisce dei sostantivi.

Si noti che in tutti e tre i casi la parola viene restituita al minuscolo; se si vuole visualizzare l'iniziale maiuscola bisogna aggiungere un ucfirst: ad es. scrivere {{ucfirst:{{#invoke:Partidisc|partidiscplur|sost}}}} restituisce Sostantivi.

Se si vuole aggiungere una nuova abbreviazione, è sufficiente inserirla nella tabella (e preferibilmente in tutte e tre le tabelle) seguendo la sintassi ['abbreviazione']='forma estesa', (ricordarsi la virgola alla fine, altrimenti il modulo sballa).


local p = {}
-- tabella di conversione abbreviazione -> singolare
local pd_sing={
	['acron']='acronimo',
	['agg']='aggettivo',['adj']='aggettivo',
	['agg form']='aggettivo, forma flessa',
	['agg nom']='aggettivo nominale',
	['agg num']='aggettivo numerale',
	['agg poss']='aggettivo possessivo',
	['art']='articolo',
	['avv']='avverbio',['adv']='avverbio',
	['class']='classificatore',
	['cong']='congiunzione',['conj']='congiunzione',
	['espr']='espressione',
	['inter']='interiezione',
	['interp']='segno di interpunzione',
	['loc agg']='locuzione aggettivale',
	['loc avv']='locuzione avverbiale',
	['loc cong']='locuzione congiuntiva',
	['loc int']='locuzione interiettiva',
	['loc nom']='locuzione nominale',
	['loc prep']='locuzione preposizionale',
	['loc verb']='locuzione verbale',
	['lett']='lettera',
	['nome']='nome proprio',['name']='nome proprio',
	['nome form']='nome proprio, forma flessa',
	['posp']='posposizione',
	['pref']='prefisso',
	['prep']='preposizione',
	['pronome']='pronome',
	['pron form']='pronome, forma flessa',
	['pron poss']='pronome possessivo',
	['sost']='sostantivo',
	['sost form']='sostantivo, forma flessa',
	['suff']='suffisso',
	['verb']='verbo',
	['voce verb']='voce verbale',['verb form']='voce verbale'
	};

-- tabella di conversione abbreviazione -> plurale
local pd_plur={
	['acron']='acronimi',
	['agg']='aggettivi',['adj']='aggettivi',
	['agg form']='forme flesse aggettivali',
	['agg nom']='aggettivi nominali',
	['agg num']='aggettivi numerali',
	['agg poss']='aggettivi possessivi',
	['art']='articoli',
	['avv']='avverbi',['adv']='avverbi',
	['class']='classificatori',
	['cong']='congiunzioni',['conj']='congiunzioni',
	['espr']='espressioni',
	['inter']='interiezioni',
	['interp']='segni di interpunzione',
	['loc agg']='locuzioni aggettivali',
	['loc avv']='locuzioni avverbiali',
	['loc cong']='locuzioni congiuntive',
	['loc int']='locuzioni interiettive',
	['loc nom']='locuzioni nominali',
	['loc prep']='locuzioni preposizionali',
	['loc verb']='locuzioni verbali',
	['lett']='lettere',
	['nome']='nomi propri',['name']='nomi propri',
	['nome form']='nomi propri flessi',
	['posp']='posposizioni',
	['pref']='prefissi',
	['prep']='preposizioni',
	['pronome']='pronomi',
	['pron form']='forme flesse pronominali',
	['pron poss']='pronomi possessivi',
	['sost']='sostantivi',
	['sost form']='forme flesse sostantivali',
	['suff']='suffissi',
	['verb']='verbi',
	['voce verb']='voci verbali',['verb form']='voci verbali'
	};

-- tabella di conversione abbreviazione -> plurale con preposizione
local pd_prep={
	['acron']='degli acronimi',
	['agg']='degli aggettivi',['adj']='degli aggettivi',
	['agg form']='delle forme flesse aggettivali',
	['agg nom']='degli aggettivi nominali',
	['agg num']='degli aggettivi numerali',
	['agg poss']='degli aggettivi possessivi',
	['art']='degli articoli',
	['avv']='degli avverbi',['adv']='degli avverbi',
	['class']='dei classificatori',
	['cong']='delle congiunzioni',['conj']='delle congiunzioni',
	['espr']='delle espressioni',
	['inter']='delle interiezioni',
	['interp']='dei segni di interpunzione',
	['loc agg']='delle locuzioni aggettivali',
	['loc avv']='delle locuzioni avverbiali',
	['loc cong']='delle locuzioni congiuntive',
	['loc int']='delle locuzioni interiettive',
	['loc nom']='delle locuzioni nominali',
	['loc prep']='delle locuzioni preposizionali',
	['loc verb']='delle locuzioni verbali',
	['lett']='delle lettere',
	['nome']='dei nomi propri',['name']='dei nomi propri',
	['nome form']='dei nomi propri flessi',
	['posp']='delle posposizioni',
	['pref']='dei prefissi',
	['prep']='delle preposizioni',
	['pronome']='dei pronomi',
	['pron form']='delle forme flesse pronominali',
	['pron poss']='dei pronomi possessivi',
	['sost']='dei sostantivi',
	['sost form']='delle forme flesse sostantivali',
	['suff']='dei suffissi',
	['verb']='dei verbi',
	['voce verb']='delle voci verbali',['verb form']='delle voci verbali'
	};

 -- restituisce la parte del discorso AL SINGOLARE a partire dall'abbreviazione
function p.partidiscsing(pardisc)
	if type(pardisc) == "table" then
	pardisc = pardisc.args[1]
	end
	return pd_sing[pardisc]
end

 -- restituisce la parte del discorso AL PLURALE a partire dall'abbreviazione
function p.partidiscplur(pardisc)
	if type(pardisc) == "table" then
	pardisc = pardisc.args[1]
	end
	return pd_plur[pardisc]
end

 -- restituisce la parte del discorso AL PLURALE e preceduta dalla PREPOSIZIONE ARTICOLATA a partire dall'abbreviazione
function p.partidiscprep(pardisc)
	if type(pardisc) == "table" then
	pardisc = pardisc.args[1]
	end
	return pd_prep[pardisc]
end

return p