Modulo:Partidisc
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Partidisc/man (modifica • cronologia)
Sandbox: Modulo:Partidisc/Sandbox (modifica•cronologia) • Test: Modulo:Partidisc/Test (modifica•cronologia)
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