local decl = {}
local en_utilities_module = "Module:en-utilities"
local la_utilities_module = "Module:la-utilities"
local table_empty_module = "Module:table/empty"
local table_insert_if_not_module = "Module:table/insertIfNot"
local require = require
local umatch = mw.ustring.match
local usub = mw.ustring.sub
local function add_form(...)
add_form = require(la_utilities_module).add_form
return add_form(...)
end
local function empty_table(...)
empty_table = require(table_empty_module)
return empty_table(...)
end
local function insert_if_not(...)
insert_if_not = require(table_insert_if_not_module)
return insert_if_not(...)
end
local function remove_forms(...)
remove_forms = require(la_utilities_module).remove_forms
return remove_forms(...)
end
local function singularize(...)
singularize = require(en_utilities_module).singularize
return singularize(...)
end
local function glossary_link(anchor, text)
text = text or anchor
return "]"
end
local function decl_link(english_declension, decl_text)
decl_text = decl_text or english_declension .. "-declension"
return "]"
end
decl = function(data, args)
local forms, categories = data.forms, data.categories
local stem = args
forms = stem
forms = stem
forms = stem
forms = stem
forms = stem
forms = stem
forms = stem
forms = stem
forms = stem
forms = stem
forms = stem
forms = stem
forms = stem
forms = stem
insert_if_not(categories, "Latin indeclinable " .. data.pos)
end
decl = function(data, args)
local forms, types, pos, subtitles, categories = data.forms, data.types, data.pos, data.subtitles, data.categories
local stem = args
local singpos, gender = singularize(pos), data.gender
if gender == "F" then
data.title = decl_link("first") .. " " .. singpos
elseif gender then
data.title = decl_link("second") .. " " .. singpos
else
data.title = decl_link("first", "first") .. "/" .. decl_link("second") .. " " .. singpos
end
local original
if types.er then
local final2 = stem:sub(-2)
if final2 == "er" then
insert_if_not(subtitles, "nominative masculine singular in ''-er''")
insert_if_not(categories, "Latin first and second declension "
.. pos .. " with nominative masculine singular in -er")
elseif final2 == "ur" then
insert_if_not(subtitles, "nominative masculine singular in ''-ur''")
insert_if_not(categories, "Latin first and second declension "
.. pos .. " with nominative masculine singular in -ur")
else
error("Unrecognized ''-r'' stem (doesn't end in ''-er'' or ''-ur''): " .. stem)
end
stem, original = args, stem
end
local us = "us"
local a_sf = "a"
local um = "um"
local ae_gsf = "ae"
local am = "am"
local a_macron = "ā"
local i_pl = stem .. "ī"
if types.greekA or types.greekE then
insert_if_not(subtitles, "Greek-type")
insert_if_not(categories, "Latin first and second declension " .. pos .. " with Greek declension")
if types.greekA then
us = "os"
um = "on"
am = "ān"
else
us = "os"
a_sf = "ē"
um = "on"
ae_gsf = "ēs"
am = "ēn"
a_macron = "ē"
end
i_pl = {i_pl, stem .. "oe"}
end
forms = original or (stem .. us)
forms = stem .. a_sf
forms = stem .. um
forms = i_pl
forms = stem .. "ae"
forms = stem .. "a"
forms = stem .. "ī"
forms = stem .. ae_gsf
forms = stem .. "ī"
forms = stem .. "ōrum"
forms = stem .. "ārum"
forms = stem .. "ōrum"
forms = stem .. "ō"
forms = stem .. "ae"
forms = stem .. "ō"
forms = stem .. "īs"
forms = stem .. "īs"
forms = stem .. "īs"
forms = stem .. um
forms = stem .. am
forms = stem .. um
forms = stem .. "ōs"
forms = stem .. "ās"
forms = stem .. "a"
forms = stem .. "ō"
forms = stem .. a_macron
forms = stem .. "ō"
forms = stem .. "īs"
forms = stem .. "īs"
forms = stem .. "īs"
forms = original or (stem .. "e")
forms = stem .. a_sf
forms = stem .. um
forms = i_pl
forms = stem .. "ae"
forms = stem .. "a"
forms = stem .. "ī"
forms = stem .. "ae"
forms = stem .. "ī"
forms = stem .. "īs"
forms = stem .. "īs"
forms = stem .. "īs"
if types.ius then
insert_if_not(subtitles, "pronominal")
--insert_if_not(subtitles, "with genitive singular in ''-ī̆us'' and dative singular in ''-ī''")
insert_if_not(categories, "Latin first and second declension " .. pos .. " with genitive singular in -ī̆us")
forms = stem .. "ī̆us"
forms = stem .. "ī̆us"
forms = stem .. "ī̆us"
forms = stem .. "ī"
forms = stem .. "ī"
forms = stem .. "ī"
elseif types.not_ius then
insert_if_not(subtitles, "non-pronominal")
--insert_if_not(subtitles, "with normal genitive and dative singular")
end
if stem == "me" then
forms = "mī"
end
if types.ic then
insert_if_not(subtitles, "''hic''-type")
--insert_if_not(subtitles, "with genitive singular ending in ''-ius'' and dative singular ending in ''-ic''")
local oc = "oc"
local oc_macron = "ōc"
if stem == "ill" then
oc = "uc"
oc_macron = "ūc"
end
forms = stem .. "ic"
forms = stem .. "aec"
forms = stem .. oc
forms = stem .. "aec"
forms = stem .. "uius"
forms = stem .. "uius"
forms = stem .. "uius"
forms = stem .. "uic"
forms = stem .. "uic"
forms = stem .. "uic"
forms = stem .. "unc"
forms = stem .. "anc"
forms = stem .. oc
forms = stem .. "aec"
forms = stem .. "ōc"
forms = stem .. "āc"
forms = stem .. oc_macron
forms = "-"
forms = "-"
forms = "-"
forms = "-"
forms = "-"
forms = "-"
end
if types.distr then
if stem:sub(-1) == "n" then
insert_if_not(subtitles, "distributive, normally plural-only; short genitive plurals in ''-num'' preferred")
forms = {stem .. "um", stem .. "ōrum"}
forms = {stem .. "um", stem .. "ārum"}
forms = {stem .. "um", stem .. "ōrum"}
else
error("Unrecognized distributive numeral stem (doesn't end in ''n''): " .. stem)
end
original = stem
stem = args
end
insert_if_not(categories, "Latin first and second declension " .. pos)
end
decl = function(data, args)
local forms, subtitles, categories = data.forms, data.subtitles, data.categories
local stem = args
insert_if_not(subtitles, "masculine and neuter forms identical to feminine forms")
forms = stem .. "a"
forms = stem .. "ae"
forms = stem .. "a"
forms = stem .. "ae"
forms = stem .. "ārum"
forms = stem .. "ae"
forms = stem .. "īs"
forms = stem .. "am"
forms = stem .. "a"
forms = stem .. "ās"
forms = stem .. "a"
forms = stem .. "ā"
forms = stem .. "īs"
forms = stem .. "a"
forms = stem .. "ae"
forms = stem .. "a"
forms = stem .. "ae"
forms = stem .. "īs"
insert_if_not(categories, "Latin first declension " .. data.pos)
end
decl = function(data, args)
local forms, types, pos, subtitles, categories = data.forms, data.types, data.pos, data.subtitles, data.categories
local stem = args
data.title = decl_link("second") .. " " .. singularize(pos)
insert_if_not(subtitles, "feminine forms identical to masculine forms")
local us = "us"
local um = "um"
local i_pl = stem .. "ī"
if types.greek then
insert_if_not(subtitles, "Greek-type")
insert_if_not(categories, "Latin second declension " .. pos .. " with Greek declension")
us = "os"
um = "on"
i_pl = {i_pl, stem .. "oe"}
end
forms = stem .. us
forms = stem .. um
forms = i_pl
forms = stem .. "a"
forms = stem .. "ī"
forms = stem .. "ī"
forms = stem .. "ōrum"
forms = stem .. "ōrum"
forms = stem .. "ō"
forms = stem .. "ō"
forms = stem .. "īs"
forms = stem .. "īs"
forms = stem .. um
forms = stem .. um
forms = stem .. "ōs"
forms = stem .. "a"
forms = stem .. "ō"
forms = stem .. "ō"
forms = stem .. "īs"
forms = stem .. "īs"
forms = stem .. "e"
forms = stem .. um
forms = i_pl
forms = stem .. "a"
forms = stem .. "ī"
forms = stem .. "ī"
forms = stem .. "īs"
forms = stem .. "īs"
insert_if_not(categories, "Latin second declension " .. pos)
end
decl = function(data, args)
local forms, types, pos, subtitles, notes, categories = data.forms, data.types, data.pos, data.subtitles, data.notes, data.categories
local stem1, stem2 = args, args
local singpos = singularize(pos)
if data.gender then
data.title = decl_link("third") .. " " .. singpos
else
data.title = decl_link("third") .. " one-termination " .. singpos
end
forms = stem1
forms = stem1
forms = stem2 .. "ēs"
forms = stem2 .. "ia"
forms = stem2 .. "is"
forms = stem2 .. "is"
forms = stem2 .. "ium"
forms = stem2 .. "ium"
forms = stem2 .. "ī"
forms = stem2 .. "ī"
forms = stem2 .. "ibus"
forms = stem2 .. "ibus"
forms = stem2 .. "em"
forms = stem1
forms = stem2 .. "ēs"
forms = stem2 .. "ia"
forms = stem2 .. "ī"
forms = stem2 .. "ī"
forms = stem2 .. "ibus"
forms = stem2 .. "ibus"
forms = stem1
forms = stem1
forms = stem2 .. "ēs"
forms = stem2 .. "ia"
forms = stem2 .. "ī"
forms = stem2 .. "ī"
forms = stem2 .. "ibus"
forms = stem2 .. "ibus"
if types.par then
insert_if_not(subtitles, "non-i-stem")
forms = stem2 .. "a"
forms = stem2 .. "um"
forms = stem2 .. "um"
forms = stem2 .. "e"
forms = stem2 .. "e"
forms = {stem2 .. "ī", stem2 .. "e"}
forms = {stem2 .. "ī", stem2 .. "e"}
forms = stem2 .. "a"
forms = stem2 .. "a"
elseif types.not_par then
insert_if_not(subtitles, "i-stem")
end
if types.trix then
insert_if_not(subtitles, "feminine-only in the singular, feminine- and neuter-only in the plural")
remove_forms(forms, {"_m$", "sg_n$"})
forms = stem1
forms = stem2 .. "is"
forms = stem2 .. "ī"
forms = stem2 .. "em"
forms = {stem2 .. "e", stem2 .. "ī"}
forms = stem1
forms = stem2 .. "ēs"
forms = stem2 .. "ium"
forms = stem2 .. "ibus"
forms = stem2 .. "ēs"
forms = stem2 .. "ibus"
forms = stem2 .. "ēs"
end
local es_base = stem1:match("^(.-)ēs$")
if es_base and es_base == stem2 then
if types.greek then
local note1 = "It is unknown whether Classical Latin preserved (or would have preserved) the shortness of the original Greek short ending."
local note2 = "It is unknown whether adjectives of this type would use i-stem or consonant-stem endings in Classical Latin: the relevant forms are not attested. Depending on the word, either ending or both may be attested in New Latin."
forms = {stem2 .. "es", stem2 .. "ēs"}
notes = note1
forms = {stem2 .. "es", stem2 .. "ēs"}
notes = note1
forms = {stem2 .. "es", stem2 .. "ēs"}
notes = note1
forms = {stem2 .. "es", stem2 .. "ēs"}
notes = note1
forms = {stem2 .. "a", stem2 .. "ia"}
notes = note2
forms = {stem2 .. "a", stem2 .. "ia"}
notes = note2
forms = {stem2 .. "a", stem2 .. "ia"}
notes = note2
forms = {stem2 .. "e", stem2 .. "ī"}
notes = note2
forms = {stem2 .. "e", stem2 .. "ī"}
notes = note2
forms = {stem2 .. "e", stem2 .. "ī"}
notes = note2
forms = {stem2 .. "um", stem2 .. "ium"}
notes = note2
forms = {stem2 .. "um", stem2 .. "ium"}
notes = note2
forms = {stem2 .. "um", stem2 .. "ium"}
notes = note2
insert_if_not(subtitles, "Greek-type")
elseif types.not_greek then
insert_if_not(subtitles, "non-Greek-type")
end
end
insert_if_not(categories, "Latin third declension " .. pos)
insert_if_not(categories, "Latin third declension " .. pos .. " of one termination")
end
decl = function(data, args)
local forms, pos, categories = data.forms, data.pos, data.categories
local stem = args
data.title = decl_link("third") .. " comparative " .. singularize(pos)
forms = stem .. "or"
forms = stem .. "or"
forms = stem .. "us"
forms = stem .. "ōrēs"
forms = stem .. "ōrēs"
forms = stem .. "ōra"
forms = stem .. "ōris"
forms = stem .. "ōris"
forms = stem .. "ōris"
forms = stem .. "ōrum"
forms = stem .. "ōrum"
forms = stem .. "ōrum"
forms = stem .. "ōrī"
forms = stem .. "ōrī"
forms = stem .. "ōrī"
forms = stem .. "ōribus"
forms = stem .. "ōribus"
forms = stem .. "ōribus"
forms = stem .. "ōrem"
forms = stem .. "ōrem"
forms = stem .. "us"
forms = {stem .. "ōrēs", stem .. "ōrīs"}
forms = {stem .. "ōrēs", stem .. "ōrīs"}
forms = stem .. "ōra"
forms = {stem .. "ōre", stem .. "ōrī"}
forms = {stem .. "ōre", stem .. "ōrī"}
forms = {stem .. "ōre", stem .. "ōrī"}
forms = stem .. "ōribus"
forms = stem .. "ōribus"
forms = stem .. "ōribus"
forms = stem .. "or"
forms = stem .. "or"
forms = stem .. "us"
forms = stem .. "ōrēs"
forms = stem .. "ōrēs"
forms = stem .. "ōra"
forms = {stem .. "ōrī", stem .. "ōre"}
forms = {stem .. "ōrī", stem .. "ōre"}
forms = {stem .. "ōrī", stem .. "ōre"}
forms = stem .. "ōribus"
forms = stem .. "ōribus"
forms = stem .. "ōribus"
insert_if_not(categories, "Latin third declension " .. pos)
insert_if_not(categories, "Latin comparative adjectives")
end
decl = function(data, args)
local forms, notes = data.forms, data.notes
local stem2 = args
decl(data, args)
data.title = decl_link("third") .. " participle"
local note1 = "When used purely as an adjective."
forms = {stem2 .. "e", stem2 .. "ī"}
notes = note1
forms = {stem2 .. "e", stem2 .. "ī"}
notes = note1
forms = {stem2 .. "ēs", stem2 .. "īs"}
end
decl = function(data, args)
local forms, pos, categories = data.forms, data.pos, data.categories
local stem = args
local singpos = singularize(pos)
if data.gender then
data.title = decl_link("third") .. " " .. singpos
else
data.title = decl_link("third") .. " two-termination " .. singpos
end
forms = stem .. "is"
forms = stem .. "e"
forms = stem .. "ēs"
forms = stem .. "ia"
forms = stem .. "is"
forms = stem .. "is"
forms = stem .. "ium"
forms = stem .. "ium"
forms = stem .. "ī"
forms = stem .. "ī"
forms = stem .. "ibus"
forms = stem .. "ibus"
forms = stem .. "em"
forms = stem .. "e"
forms = {stem .. "ēs", stem .. "īs"}
forms = stem .. "ia"
forms = stem .. "ī"
forms = stem .. "ī"
forms = stem .. "ibus"
forms = stem .. "ibus"
forms = stem .. "is"
forms = stem .. "e"
forms = stem .. "ēs"
forms = stem .. "ia"
forms = stem .. "ī"
forms = stem .. "ī"
forms = stem .. "ibus"
forms = stem .. "ibus"
insert_if_not(categories, "Latin third declension " .. pos)
insert_if_not(categories, "Latin third declension " .. pos .. " of two terminations")
end
decl = function(data, args)
local forms, pos, categories = data.forms, data.pos, data.categories
local stem1, stem2 = args, args
local singpos = singularize(pos)
if data.gender then
data.title = decl_link("third") .. " " .. singpos
else
data.title = decl_link("third") .. " three-termination " .. singpos
end
forms = stem1
forms = stem2 .. "is"
forms = stem2 .. "e"
forms = stem2 .. "ēs"
forms = stem2 .. "ēs"
forms = stem2 .. "ia"
forms = stem2 .. "is"
forms = stem2 .. "is"
forms = stem2 .. "is"
forms = stem2 .. "ium"
forms = stem2 .. "ium"
forms = stem2 .. "ium"
forms = stem2 .. "ī"
forms = stem2 .. "ī"
forms = stem2 .. "ī"
forms = stem2 .. "ibus"
forms = stem2 .. "ibus"
forms = stem2 .. "ibus"
forms = stem2 .. "em"
forms = stem2 .. "em"
forms = stem2 .. "e"
forms = stem2 .. "ēs"
forms = stem2 .. "ēs"
forms = stem2 .. "ia"
forms = stem2 .. "ī"
forms = stem2 .. "ī"
forms = stem2 .. "ī"
forms = stem2 .. "ibus"
forms = stem2 .. "ibus"
forms = stem2 .. "ibus"
forms = stem1
forms = stem2 .. "is"
forms = stem2 .. "e"
forms = stem2 .. "ēs"
forms = stem2 .. "ēs"
forms = stem2 .. "ia"
forms = stem2 .. "ī"
forms = stem2 .. "ī"
forms = stem2 .. "ī"
forms = stem2 .. "ibus"
forms = stem2 .. "ibus"
forms = stem2 .. "ibus"
insert_if_not(categories, "Latin third declension " .. pos)
insert_if_not(categories, "Latin third declension " .. pos .. " of three terminations")
end
decl = function(data, args)
local forms, subtitles, categories = data.forms, data.subtitles, data.categories
local stem = args
insert_if_not(subtitles, "used only in the nominative and accusative")
forms = stem
forms = "-"
forms = "-"
forms = "-"
forms = "-"
forms = "-"
forms = stem
forms = "-"
forms = "-"
forms = "-"
forms = "-"
forms = "-"
forms = "-"
forms = "-"
insert_if_not(categories, "Latin indeclinable " .. data.pos)
end
decl = function(data,args)
local forms, types, pos, notes, categories = data.forms, data.types, data.pos, data.notes, data.categories
local arg1 = args
if arg1 == "duo" or arg1 == "ambō" then
local stem = usub(arg1, 1, -2)
data.title = stem == "amb" and glossary_link("irregular") .. " adjective" or "numeral"
data.num = "pl"
local stem_with_o = stem .. (stem == "amb" and "ō" or "o")
forms = stem_with_o
forms = stem .. "ae"
forms = stem_with_o
forms = stem .. "ōrum"
forms = stem .. "ārum"
forms = stem .. "ōrum"
forms = stem .. "ōbus"
forms = stem .. "ābus"
forms = stem .. "ōbus"
forms = {stem .. "ōs", stem_with_o}
forms = stem .. "ās"
forms = stem_with_o
forms = stem .. "ōbus"
forms = stem .. "ābus"
forms = stem .. "ōbus"
forms = stem_with_o
forms = stem .. "ae"
forms = stem_with_o
if stem == "du" then
forms = {forms, "duum"}
forms = {forms, "duum"}
end
elseif arg1:sub(-6) == "mīlle" then
data.title = "semi-" .. glossary_link("indeclinable") .. " numeral"
local stem = arg1:sub(1, -3)
forms = stem .. "le"
forms = {stem .. "ia", stem .. "lia"}
forms = stem .. "le"
forms = {stem .. "ium", stem .. "lium"}
forms = stem .. "le"
forms = {stem .. "ibus", stem .. "libus"}
forms = stem .. "le"
forms = {stem .. "ia", stem .. "lia"}
forms = stem .. "le"
forms = {stem .. "ibus", stem .. "libus"}
forms = stem .. "le"
forms = {stem .. "ia", stem .. "lia"}
elseif arg1 == "ille" or arg1 == "iste" or arg1 == "ipse" then
local stem = arg1:sub(1, -2)
types.ius = true
decl(data, {stem})
data.title = glossary_link("demonstrative") .. " pronoun"
forms = arg1
if arg1 == "ipse" then
local note1 = "Medieval Latin."
add_form(forms, "nom_sg_n", stem, "ud")
notes = note1
add_form(forms, "acc_sg_n", stem, "ud")
notes = note1
else
forms = stem .. "ud"
forms = stem .. "ud"
end
empty_table(categories)
elseif arg1 == "illic" or arg1 == "istic" then
data.title = glossary_link("demonstrative") .. " pronoun"
local stem, unattested = arg1:sub(1, -3), data.unattested
forms = stem .. "ic"
forms = stem .. "aec"
forms = {stem .. "uc", stem .. "ucce", stem .. "oc"}
forms = stem .. "ī̆usce"
forms = stem .. "ī̆usce"
forms = stem .. "ī̆usce"
forms = stem .. "īc"
forms = stem .. "īc"
forms = stem .. "īc"
forms = stem .. "unc"
forms = stem .. "anc"
forms = {stem .. "uc", stem .. "ucce", stem .. "oc"}
forms = stem .. "ōc"
forms = stem .. "āc"
forms = stem .. "ōc"
forms = stem .. "īsce"
forms = stem .. "aec"
forms = stem .. "aec"
forms = stem .. "ōrunc"
unattested = true
forms = stem .. "ārunc"
unattested = true
forms = stem .. "ōrunc"
unattested = true
forms = stem .. "īsce"
forms = stem .. "īsce"
forms = stem .. "īsce"
forms = stem .. "ōsce"
forms = stem .. "āsce"
forms = stem .. "aec"
forms = stem .. "īsce"
forms = stem .. "īsce"
forms = stem .. "īsce"
elseif arg1 == "hice" then
data.title = glossary_link("demonstrative") .. " pronoun"
forms = "hice"
forms = "haece"
forms = "hoce"
forms = "hīce"
forms = "haece"
forms = "haece"
forms = "huiusce"
forms = "huiusce"
forms = "huiusce"
forms = {"hōrunce", "hōrumce"}
forms = {"hārunce", "hārumce"}
forms = {"hōrunce", "hōrumce"}
forms = "huīce"
forms = "huīce"
forms = "huīce"
forms = "hīsce"
forms = "hīsce"
forms = "hīsce"
forms = "hunce"
forms = "hance"
forms = "hoce"
forms = "hōsce"
forms = "hāsce"
forms = "haece"
forms = "hōce"
forms = "hāce"
forms = "hōce"
forms = "hīsce"
forms = "hīsce"
forms = "hīsce"
elseif arg1 == "plūs" then
data.title = glossary_link("irregular") .. " " .. decl_link("third") .. " comparative " .. singularize(pos)
forms = "plūs"
forms = "plūrēs"
forms = "plūra"
forms = "plūris"
forms = "plūrium"
forms = "plūrium"
forms = "plūribus"
forms = "plūribus"
forms = "plūs"
forms = "plūrēs"
forms = "plūra"
forms = "plūre"
forms = "plūribus"
forms = "plūribus"
forms = "plūs"
forms = "plūrēs"
forms = "plūra"
data.footnote = "Note: Singular forms take the genitive of the whole and do not function as adjectives."
insert_if_not(categories, "Latin third declension " .. pos)
insert_if_not(categories, "Latin third declension " .. pos .. " of one termination")
elseif umatch(arg1, "^egō̆?$") or arg1 == "nōs" then
data.title = glossary_link("personal") .. " pronoun"
forms = arg1
forms = "nōs"
forms = "meī"
forms = {"nostrī", "nostrum"}
forms = "mihī̆"
forms = "nōbīs"
forms = {"mē", "mēmē"}
forms = "nōs"
forms = {"mē", "mēmē"}
forms = "nōbīs"
forms = arg1
forms = "nōs"
elseif arg1 == "tū" or arg1 == "vōs" then
data.title = glossary_link("personal") .. " pronoun"
forms = arg1
forms = "vōs"
forms = "tuī"
forms = {"vestrī", "vestrum"}
forms = "tibī̆"
forms = "vōbīs"
forms = {"tē", "tētē"}
forms = "vōs"
forms = {"tē", "tētē"}
forms = "vōbīs"
forms = arg1
forms = "vōs"
elseif arg1 == "suī" then
data.title = glossary_link("reflexive") .. " pronoun"
forms = "-"
forms = "-"
forms = arg1
forms = forms
forms = "sibi"
forms = forms
forms = {"sē", "sēsē"}
forms = {"sē", "sēsē"}
forms = {"sē", "sēsē"}
forms = {"sē", "sēsē"}
forms = "-"
forms = "-"
elseif arg1 == "is" or arg1 == "īdem" then
data.title = glossary_link("demonstrative") .. " pronoun"
local note1 = "The dat. singular is found spelled <small>EIEI</small> (here represented as ''ēī'') and scanned as two longs in Plautus, but also as a monosyllable. The latter is its normal scansion in Classical. Other spellings include <small>EEI, IEI</small>."
local note2 = "The nom./dat./abl. plural forms regularly developed into a monosyllable /iː(s)/, with later remodelling - compare the etymology of ]. This /iː/ was normally spelled as <small>EI</small> during and as <small>II</small> after the Republic; a disyllabic ''iī'', spelled <small>II, Iꟾ</small>, appears in Silver Age poetry, while disyllabic ''eīs'' is only post-Classical. Other spellings include <small>EEI(S), EIEI(S), IEI(S)</small>."
forms = "is"
forms = "ea"
forms = "id"
forms = {"iī", "eī", "ī"}
notes = note2
forms = "eae"
forms = "ea"
forms = {"eius", "ejus"}
forms = {"eius", "ejus"}
forms = {"eius", "ejus"}
forms = {"eōrum", "eum"}
forms = "eārum"
forms = {"eōrum", "eum"}
forms = {"eī", "e͡i", "ēī"}
notes = note1
forms = {"eī", "e͡i", "ēī", "eae"}
notes = note1
forms = {"eī", "e͡i", "ēī"}
notes = note1
forms = {"iīs", "eīs", "īs"}
notes = note2
forms = {"iīs", "eīs", "īs", "eābus"}
notes = note2
forms = {"iīs", "eīs", "īs"}
notes = note2
forms = "eum"
forms = "eam"
forms = "id"
forms = "eōs"
forms = "eās"
forms = "ea"
forms = "eō"
forms = "eā"
forms = "eō"
forms = {"iīs", "eīs", "īs"}
notes = note2
forms = {"iīs", "eīs", "īs"}
notes = note2
forms = {"iīs", "eīs", "īs"}
notes = note2
if arg1 == "īdem" then
forms = "ī"
forms = "i"
forms = "i"
end
elseif arg1 == "quis" or arg1 == "quī" then
local note1 = "When used as an indefinite word (pronoun or adjective), the feminine nominative singular and neuter nominative/accusative plural is usually ''qua'' (with short ''ă'') instead of ''quae''. Indefinite ''quă'' is generally only found directly after '']'', '']'', '']'', or '']'' and may be considered to be either enclitic to the preceding word or (in Priscian's view) forming a compound with it; accordingly, '']'', '']'', and '']'' are sometimes written together (as also are the masculines '']'', '']'', and '']''). The form ''quă'' is never used for the feminine plural, nor for any form of the relative pronoun or of the interrogative pronoun or adjective."
local note2 = "In Republican Latin or earlier, alternative spellings could be found for the following forms of '']''/'']'' and its compounds: the masculine nominative singular or plural ''quī'' (old spelling '']''), the genitive singular ''cuius'' (old spelling '']''), the dative singular ''cui'' (old spelling '']'' or '']''), the dative/ablative plural ''quīs'' (old spelling '']'')."
local note3 = "Feminine ''quis'' and ''quem'' are attested mainly in early Latin authors (Ennius, Pacuvius, and Plautus)."
local id = "id"
if arg1 == "quī" then
id = "od"
forms = {"quī", "quis"}
notes = note2
forms = {"quae", "qua"}
notes = note1
forms = "quam"
forms = "quō"
forms = "quā"
forms = "quō"
data.title = glossary_link("relative") .. "/" .. glossary_link("interrogative") .. " determiner"
else
forms = {"quis", "quī"}
notes = note2
forms = {"quae", "qua", "quis"}
notes = note1
notes = note3
forms = {"quam", "quem"}
notes = note3
forms = {"quō", "quī"}
forms = {"quā", "quī"}
forms = {"quō", "quī"}
data.title = glossary_link("relative") .. "/" .. glossary_link("interrogative") .. " pronoun"
end
forms = "qu"..id
forms = "quī"
notes = note2
forms = "quae"
forms = {"quae", "qua"}
notes = note1
forms = "cuius"
forms = "cuius"
forms = "cuius"
notes = note2
notes = note2
notes = note2
forms = "quōrum"
forms = "quārum"
forms = "quōrum"
forms = "cui"
forms = "cui"
forms = "cui"
notes = note2
notes = note2
notes = note2
forms = {"quibus", "quīs"}
forms = {"quibus", "quīs"}
forms = {"quibus", "quīs"}
notes = note2
notes = note2
notes = note2
forms = "quem"
forms = "qu"..id
forms = "quōs"
forms = "quās"
forms = {"quae", "qua"}
notes = note1
forms = {"quibus", "quīs"}
forms = {"quibus", "quīs"}
forms = {"quibus", "quīs"}
notes = note2
notes = note2
notes = note2
elseif arg1 == "aliquī" then
data.title = glossary_link("indefinite") .. " " .. glossary_link("determiner")
local note1 = "Normatively, ] is a determiner (used adjectivally) and ] is a pronoun (used substantively), but the opposite usages can be found, even among the best Classical writers."
local note2 = "The feminine nominative singular form is usually ''aliqua'', but there are a handful of possible examples of ''aliquae'' as a feminine nominative singular form; see ]. The feminine nominative plural can only be ''aliquae'', and there are perhaps no solid examples of the neuter nominative/accusative plural taking any form other than ''aliqua''."
local note3 = "Alternative spelling ] (used in Republican Latin or earlier)."
local note4 = "Alternative spelling ] (used in Republican Latin or earlier)."
local note5 = "Alternative spelling ] (used in Republican Latin or earlier)."
forms = {"aliquī", "aliquis"}
notes = note1
forms = "aliqua"
notes = note2
forms = "aliquod"
forms = "aliquī"
forms = "aliquae"
notes = note2
forms = "aliqua"
notes = note2
forms = "alicuius"
notes = note3
forms = "alicuius"
notes = note3
forms = "alicuius"
notes = note3
forms = "aliquōrum"
forms = "aliquārum"
forms = "aliquōrum"
forms = "alicui"
notes = note5
forms = "alicui"
notes = note5
forms = "alicui"
notes = note5
forms = {"aliquīs", "aliquibus"}
notes = note4
forms = {"aliquīs", "aliquibus"}
notes = note4
forms = {"aliquīs", "aliquibus"}
notes = note4
forms = "aliquem"
forms = "aliquam"
forms = "aliquod"
forms = "aliquōs"
forms = "aliquās"
forms = "aliqua"
notes = note2
forms = "aliquō"
forms = "aliquā"
forms = "aliquō"
forms = {"aliquīs", "aliquibus"}
notes = note4
forms = {"aliquīs", "aliquibus"}
notes = note4
forms = {"aliquīs", "aliquibus"}
notes = note4
elseif arg1 == "quisquam" then
local note1 = "Only attested in postclassical Latin. In Classical Latin, forms of ] were used instead."
local note2 = "Only attested as a feminine form in the preclassical Latin of authors like Plautus."
local note3 = "Attested only once in Classical Latin. Usually ] was used instead."
local note4 = "Attested, but rare in Classical Latin. Usually ] was used instead."
data.title = glossary_link("negative polarity item", "negative polarity") .. " " .. glossary_link("indefinite") .. " " .. glossary_link("determiner")
forms = "quisquam"
forms = {"quaequam", "quisquam"}
notes = note1
notes = note2
forms = "quodquam"
notes = note1
forms = "quīquam"
notes = note1
forms = "quaequam"
notes = note1
forms = "quaequam"
notes = note1
forms = "cuiusquam"
forms = "cuiusquam"
forms = "cuiusquam"
forms = "quōrumquam"
notes = note1
forms = "quārumquam"
notes = note1
forms = "quōrumquam"
notes = note1
forms = "cuiquam"
forms = "cuiquam"
forms = "cuiquam"
forms = "quibusquam"
notes = note1
forms = "quibusquam"
notes = note1
forms = "quibusquam"
notes = note1
forms = "quemquam"
forms = {"quamquam", "quemquam"}
notes = note3
notes = note2
forms = "quodquam"
notes = note1
forms = "quōsquam"
notes = note1
forms = "quāsquam"
notes = note1
forms = "quaequam"
notes = note1
forms = {"quōquam", "quīquam"}
notes = note4
notes = note2
forms = "quāquam"
notes = note1
forms = "quōquam"
notes = note4
forms = "quibusquam"
notes = note1
forms = "quibusquam"
notes = note1
forms = "quibusquam"
notes = note1
forms = "quisquam"
notes = note1
forms = "quaequam"
notes = note1
forms = "quodquam"
notes = note1
forms = "quīquam"
notes = note1
forms = "quaequam"
notes = note1
forms = "quaequam"
notes = note1
elseif arg1 == "quisquis" then
data.title = glossary_link("relative") .. "/" .. glossary_link("interrogative") .. " pronoun"
forms = "quisquis"
forms = "quisquis"
forms = {"quidquid", "quicquid"}
forms = "quīquī"
forms = "quaequae"
forms = "quaequae"
forms = "cuiuscuius"
forms = "cuiuscuius"
forms = "cuiuscuius"
forms = "quōrumquōrum"
forms = "quārumquārum"
forms = "quōrumquōrum"
forms = "cuicui"
forms = "cuicui"
forms = "cuicui"
forms = {"quibusquibus", "quīsquīs"}
forms = {"quibusquibus", "quīsquīs"}
forms = {"quibusquibus", "quīsquīs"}
forms = "quemquem"
forms = "quamquam"
forms = {"quidquid", "quicquid"}
forms = "quōsquōs"
forms = "quāsquās"
forms = "quaequae"
forms = "quōquō"
forms = "quāquā"
forms = "quōquō"
forms = {"quibusquibus", "quīsquīs"}
forms = {"quibusquibus", "quīsquīs"}
forms = {"quibusquibus", "quīsquīs"}
forms = "quisquis"
forms = "quisquis"
forms = {"quidquid", "quicquid"}
forms = "quīquī"
forms = "quaequae"
forms = "quaequae"
elseif arg1 == "ecquis" then
local note1 = "Unattested in classical Latin."
local note2 = "Attested only twice in Classical Latin."
data.title = glossary_link("interrogative") .. " pronoun"
forms = {"ecquis", "ecquī"}
forms = {"ecqua", "ecquae"}
forms = "ecquid"
forms = "ecquī"
forms = "ecquae"
forms = {"ecqua", "ecquae"}
forms = "eccuius"
forms = "eccuius"
forms = "eccuius"
notes = note1
notes = note1
notes = note1
forms = "eccui"
forms = "eccui"
forms = "eccui"
notes = note2
notes = note2
notes = note2
forms = "ecquem"
forms = "ecquam"
forms = "ecquod"
forms = "ecquōs"
forms = "ecquās"
forms = {"ecqua", "ecquae"}
forms = {"ecquō", "ecquī"}
forms = {"ecquā", "ecquī"}
forms = {"ecquō", "ecquī"}
elseif arg1 == "quīdam" then
local note1 = "The genitive singular was spelled ] before the Augustan period."
local note2 = "The dative singular was spelled ] before the Augustan period."
local note3 = "An alternative masculine nominative/accusative plural form ] occurs in Accius."
local note4 = "The dative/ablative plural has a rare alternative form ]/]."
data.title = glossary_link("indefinite") .. " pronoun"
forms = "quīdam"
forms = "quaedam"
forms = "quiddam"
forms = "quīdam"
notes = note3
forms = "quaedam"
forms = "quaedam"
forms = "cuiusdam"
forms = "cuiusdam"
forms = "cuiusdam"
notes = note1
notes = note1
notes = note1
forms = {"quōrundam", "quōrumdam"}
forms = {"quārundam", "quārumdam"}
forms = {"quōrundam", "quōrumdam"}
forms = "cuidam"
forms = "cuidam"
forms = "cuidam"
notes = note2
notes = note2
notes = note2
forms = "quibusdam"
forms = "quibusdam"
forms = "quibusdam"
notes = note4
notes = note4
notes = note4
forms = {"quendam", "quemdam"}
forms = {"quandam", "quamdam"}
forms = "quiddam"
forms = "quōsdam"
notes = note3
forms = "quāsdam"
forms = "quaedam"
forms = "quōdam"
forms = "quādam"
forms = "quōdam"
forms = "quibusdam"
forms = "quibusdam"
forms = "quibusdam"
notes = note4
notes = note4
notes = note4
elseif arg1 == "nēmō" then
local note1 = "The genitive ] is not used in Classical Latin, and is generally also avoided by later authors."
local note2 = "The ablative ] is not used in Classical Latin, but can be seen in authors from the Imperial period onwards."
data.title = "Negative pronoun and " .. glossary_link("determiner")
forms = "nēmō"
forms = "nēmō"
forms = {"nūllī̆us", "nēminis"}
forms = {"nūllī̆us", "nēminis"}
notes = note1
notes = note1
forms = "nēminī"
forms = "nēminī"
forms = "nēminem"
forms = "nēminem"
forms = {"nūllō", "nēmine"}
forms = {"nūllā", "nēmine"}
notes = note2
notes = note2
else
error('adjective ' .. arg1 .. ' not recognized')
end
end
return decl
-- For Vim, so we get 4-space tabs
-- vim: set ts=4 sw=4 noet: