|
|
| Line 1: |
Line 1: |
| local export = {}
| |
|
| |
|
| local accel_forms = {
| |
| --NEUTRALS
| |
| nsi = "nom|s",
| |
| nsd = "def|nom|s",
| |
| npi = "nom|p",
| |
| npd = "def|nom|p",
| |
| asi = "acc|s",
| |
| asd = "def|acc|s",
| |
| api = "acc|p",
| |
| apd = "def|acc|p",
| |
| dsi = "dat|s",
| |
| dsd = "def|dat|s",
| |
| dpi = "dat|p",
| |
| dpd = "def|dat|p",
| |
| gsi = "gen|s",
| |
| gsd = "def|gen|s",
| |
| gpi = "gen|p",
| |
| gpd = "def|gen|p",
| |
|
| |
| --LAUDATIVES
| |
| nsi_la = "nom|s|la",
| |
| nsd_la = "def|nom|s|la",
| |
| npi_la = "nom|p|la",
| |
| npd_la = "def|nom|p|la",
| |
| asi_la = "acc|s|la",
| |
| as_lad = "def|acc|s|la",
| |
| api_la = "acc|p|la",
| |
| apd_la = "def|acc|p|la",
| |
| dsi_la = "dat|s|la",
| |
| dsd_la = "def|dat|s|la",
| |
| dpi_la = "dat|p|la",
| |
| dpd_la = "def|dat|p|la",
| |
| gsi_la = "gen|s|la",
| |
| gsd_la = "def|gen|s|la",
| |
| gpi_la = "gen|p|la",
| |
| gpd_la = "def|gen|p|la",
| |
|
| |
| --PEJORATIVES
| |
| nsi_pej = "nom|s|pej",
| |
| nsd_pej = "def|nom|s|pej",
| |
| npi_pej = "nom|p|pej",
| |
| npd_pej = "def|nom|p|pej",
| |
| asi_pej = "acc||pej",
| |
| asd_pej = "def|acc|s|pej",
| |
| api_pej = "acc|p|pej",
| |
| apd_pej = "def|acc|p|pej",
| |
| dsi_pej = "dat|s|pej",
| |
| dsd_pej = "def|dat|s|pej",
| |
| dpi_pej = "dat|p|pej",
| |
| dpd_pej = "def|dat|p|pej",
| |
| gsi_pej = "gen|s|pej",
| |
| gs_pejd = "def|gen|s|pej",
| |
| gpi_pej = "gen|p|pej",
| |
| gpd_pej = "def|gen|p|pej",
| |
|
| |
| --VERBS
| |
| -- Active
| |
| inf = "act|inf",
| |
| pres_part = "act|pres|part",
| |
| past_part = "act|past|part",
| |
| sup = "act|sup",
| |
|
| |
| pres_ind_sg = "s|pres|act|ind",
| |
| pres_ind_pl = "p|pres|act|ind",
| |
| past_ind_sg = "s|past|act|ind",
| |
| past_ind_pl = "p|past|act|ind",
| |
|
| |
| pres_sub_sg = "s|pres|act|sub",
| |
| pres_sub_pl = "p|pres|act|sub",
| |
| past_sub_sg = "s|past|act|sub",
| |
| past_sub_pl = "p|past|act|sub",
| |
|
| |
| imp_sg = "s|act|imp",
| |
| imp_pl = "p|act|imp",
| |
|
| |
| -- Mediopassive
| |
|
| |
| mp_inf = "mp|inf",
| |
| mp_pres_part = "mp|pres|part",
| |
| mp_past_part = "mp|past|part",
| |
| mp_sup = "mp|sup",
| |
|
| |
| mp_pres_ind_sg = "s|pres|mp|ind",
| |
| mp_pres_ind_pl = "p|pres|mp|ind",
| |
| mp_past_ind_sg = "s|past|mp|ind",
| |
| mp_past_ind_pl = "p|past|mp|ind",
| |
|
| |
| mp_pres_sub_sg = "s|pres|mp|sub",
| |
| mp_pres_sub_pl = "p|pres|mp|sub",
| |
| mp_past_sub_sg = "s|past|mp|sub",
| |
| mp_past_sub_pl = "p|past|mp|sub",
| |
|
| |
| mp_imp_sg = "s|mp|imp",
| |
| mp_imp_pl = "p|mp|imp",
| |
| }
| |
|
| |
| local mode_prefix = { --this is prefixed to the index value in accel_forms
| |
| mpass = "mp_"
| |
| }
| |
|
| |
| local mode_prepend = { --on the other hand, this is prefixed to the accelerated text itself
| |
| wk = "weak|",
| |
| str = "strong|",
| |
| comp = "comparative|",
| |
| wk_sup = "weak|superlative|",
| |
| str_sup = "strong|superlative|"
| |
| }
| |
|
| |
|
| |
| function export.create(frame)
| |
| local args = frame:getParent().args
| |
| local out = {}
| |
| if not args[1] or args[1] == "" then
| |
| return "―"
| |
| else
| |
| local accel_form = args[2]
| |
| local accel
| |
| if accel_form then
| |
| local mode = args[3]
| |
| if mode and mode_prefix[mode] then
| |
| accel_form = mode_prefix[mode] .. accel_form
| |
| end
| |
| if accel_forms[accel_form] then
| |
| if mode and mode_prepend[mode] then
| |
| accel_form = mode_prepend[mode] .. accel_forms[accel_form]
| |
| else
| |
| accel_form = accel_forms[accel_form]
| |
| end
| |
| end
| |
| accel = {form = accel_form}
| |
| end
| |
| local words = mw.text.split(args[1], "%s*,%s*")
| |
| if words then
| |
| for i,j in ipairs(words) do
| |
| table.insert(out, args[1])
| |
| end
| |
| end
| |
| end
| |
| return table.concat(out, ", ")
| |
| end
| |
|
| |
| return export
| |
Documentation for this module may be created at Module:jugs-cell/doc