Module:User:Benwing2/gender and number/data

local data = {}

-- A list of all possible "parts" that a specification can be made out of. For each part, we list -- the class it's in (gender, animacy, etc.), the associated category (if any) and the display form. -- In a given gender/number spec, only one part of each class is allowed. data.codes = { ["?"] = {type = "other", display = '? '},

-- Genders ["m"] = {type = "gender", cat = "masculine POS", display = 'm '}, ["f"] = {type = "gender", cat = "feminine POS", display = 'f '}, ["n"] = {type = "gender", cat = "neuter POS", display = 'n '}, ["c"] = {type = "gender", cat = "common-gender POS", display = 'c '},

-- Animacy ["an"] = {type = "animacy", cat = "animate POS", display = ' anim '}, ["in"] = {type = "animacy", cat = "inanimate POS", display = ' inan '}, -- Animal (for Ukrainian, Belarusian, Polish) ["anml"] = {type = "animacy", cat = "animal POS", display = ' animal '}, -- Personal (for Ukrainian, Belarusian, Polish) ["pr"] = {type = "animacy", cat = "personal POS", display = ' pers '}, -- Nonpersonal not currently used ["np"] = {type = "animacy", cat = "nonpersonal POS", display = ' npers '},

-- Virility (for Polish) ["vr"] = {type = "virility", cat = "virile POS", display = ' vir '}, ["nv"] = {type = "virility", cat = "nonvirile POS", display = ' nvir '},

-- Numbers ["s"] = {type = "number", display = 'sg '}, ["d"] = {type = "number", cat = "dualia tantum", display = ' du '}, ["p"] = {type = "number", cat = "pluralia tantum", display = 'pl '},

-- Verb qualifiers ["impf"] = {type = "aspect", cat = "imperfective POS", display = 'impf '}, ["pf"] = {type = "aspect", cat = "perfective POS", display = 'pf '}, }

-- Combined codes that are equivalent to giving multiple specs. `mf` is the same as specifying two separate specs, -- one with `m` in it and the other with `f`. `mfbysense` is similar but is used for nouns that can be either masculine -- or feminine according as to whether they refer to masculine or feminine beings. data.combinations = { ["mf"] = {codes = {"m", "f"}}, ["mfbysense"] = {codes = {"m", "f"}, cat = "masculine and feminine POS by sense", display = 'by sense '} }

-- Categories when multiple gender/number specs of a given type occur in different data.codetype_cats = { ["gender"] = "POS with multiple genders", ["animacy"] = "POS with multiple animacies", ["aspect"] = "biaspectual POS" }

return data