Module:qhv-noun/data: Difference between revisions

m
no edit summary
No edit summary
mNo edit summary
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
local sub = mw.ustring.sub
local sub = mw.ustring.sub
local function lengthen(v)
local switch = {["a"] = "ā", ["e"] = "ē", ["i"] = "ī", ["o"] = "ō", ["u"] = "ū", ["y"] = "ȳ"}
return switch[v] or v
end


local alldata = {}
local alldata = {}
Line 14: Line 19:
local stemi = sub(stem, 1, -2)
local stemi = sub(stem, 1, -2)
data.decl_type = "lunar first-declension"
data.decl_type = "lunar first-declension"
table.insert(data.categories, "High Valyrian first-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "a"}
data.forms["acc_sg"] = {stem .. "e"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ā"}
data.forms["ins_sg"] = {i and stemi .. "ȳsa" or stem .. "osa"}
data.forms["com_sg"] = {i and stemi .. "ȳma" or stem .. "oma"}
data.forms["voc_sg"] = {i and stemi .. "ȳs" or stem .. "us"}
if not args.nopl then
data.forms["nom_pl"] = {i and stemi .. "ī" or stem .. "i"}
data.forms["acc_pl"] = {i and stemi .. "ī" or stem .. "ī"}
data.forms["gen_pl"] = {i and stemi .. "ȳti" or stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {i and stemi .. "ȳssi" or stem .. "ossi"}
data.forms["com_pl"] = {i and stemi .. "ȳmmi" or stem .. "ommi"}
data.forms["voc_pl"] = {i and stemi .. "īs" or stem .. "is"}
data.forms["nom_pa"] = {i and stemi .. "ȳn" or stem .. "un"}
data.forms["acc_pa"] = {i and stemi .. "ȳni" or stem .. "uni"}
data.forms["gen_pa"] = {i and stemi .. "ȳno" or stem .. "uno"}
data.forms["dat_pa"] = {i and stemi .. "ȳnta" or stem .. "unta"}
data.forms["loc_pa"] = {i and stemi .. "ȳnna" or stem .. "unna"}
data.forms["ins_pa"] = {i and stemi .. "ȳssa" or stem .. "ussa"}
data.forms["com_pa"] = {i and stemi .. "ȳmma" or stem .. "umma"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "ar"}
data.forms["acc_co"] = {stem .. "ari"}
data.forms["gen_co"] = {stem .. "aro"}
data.forms["dat_co"] = {stem .. "arta"}
data.forms["loc_co"] = {stem .. "arra"}
data.forms["ins_co"] = {stem .. "arza"}
data.forms["com_co"] = {stem .. "arma"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["-illa"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["-illa"], {__call = function(self, args, data)
local stem = args[1]
local i = sub(stem, -1) == "i"
local stemi = sub(stem, 1, -2)
data.decl_type = "aquatic first-declension"
table.insert(data.categories, "High Valyrian first-declension " .. (data.proper and "proper " or "") .. "nouns")
table.insert(data.categories, "High Valyrian first-declension " .. (data.proper and "proper " or "") .. "nouns")


Line 64: Line 122:
setmetatable(alldata["1-a"], {__call = function(self, args, data)
setmetatable(alldata["1-a"], {__call = function(self, args, data)
local stem = args[1]
local stem = args[1]
local stemr = sub(stem, -1) == "m" and sub(stem, 1, -2) .. "b" or stem
local v = sub(stem, -2, -2)
local stemr = (sub(stem, -1) == "m" and sub(stem, 1, -3) .. lengthen(v) .. "b"
or sub(stem, -1) == "n" and sub(stem, 1, -3) .. lengthen(v) .. "d"
or stem)
data.decl_type = "aquatic first-declension"
data.decl_type = "aquatic first-declension"
table.insert(data.categories, "High Valyrian first-declension " .. (data.proper and "proper " or "") .. "nouns")
table.insert(data.categories, "High Valyrian first-declension " .. (data.proper and "proper " or "") .. "nouns")
Line 104: Line 165:
data.forms["com_co"] = {stemr .. "rarma"}
data.forms["com_co"] = {stemr .. "rarma"}
data.forms["voc_co"] = data.forms["ins_co"]
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["p-1"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["p-1"], {__call = function(self, args, data)
local stem = args[1]
local i = sub(stem, -1) == "i"
local stemi = sub(stem, 1, -2)
data.decl_type = "sixth-declension"
table.insert(data.categories, "High Valyrian sixth-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {i and stemi .. "ȳn" or stem .. "un"}
data.forms["acc_sg"] = {i and stemi .. "ȳni" or stem .. "uni"}
data.forms["gen_sg"] = {i and stemi .. "ȳno" or stem .. "uno"}
data.forms["dat_sg"] = {i and stemi .. "ȳnta" or stem .. "unta"}
data.forms["loc_sg"] = {i and stemi .. "ȳnna" or stem .. "unna"}
data.forms["ins_sg"] = {i and stemi .. "ȳssa" or stem .. "ussa"}
data.forms["com_sg"] = {i and stemi .. "ȳmma" or stem .. "umma"}
data.forms["voc_sg"] = data.forms["ins_sg"]
if not args.nopl then
data.forms["nom_pl"] = {i and stemi .. "y" or stem .. "i"}
data.forms["acc_pl"] = {i and stemi .. "ī" or stem .. "ī"}
data.forms["gen_pl"] = {}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {}
data.forms["com_pl"] = {}
data.forms["voc_pl"] = {}
end
end
end
end
Line 373: Line 469:
}
}
setmetatable(alldata["3-s-v"], {__call = function(self, args, data)
setmetatable(alldata["3-s-v"], {__call = function(self, args, data)
local stem = mw.title.getCurrentTitle().text == "Lȳs" and "L" .. args[1] or args[1]
local stem = nil and "" or args[1]
data.decl_type = "v-stem solar third-declension"
data.decl_type = "v-stem solar third-declension"
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
Line 531: Line 627:
setmetatable(alldata["3-a"], {__call = function(self, args, data)
setmetatable(alldata["3-a"], {__call = function(self, args, data)
local stem = args[1]
local stem = args[1]
local stemr = sub(args[1], -1) == "m" and sub(args[1], 1, -2) .. "b" or args[1]
local v = sub(stem, -2, -2)
local stemr = (sub(stem, -1) == "m" and sub(stem, 1, -3) .. lengthen(v) .. "b"
or sub(stem, -1) == "n" and sub(stem, 1, -3) .. lengthen(v) .. "d"
or stem)
data.decl_type = "aquatic third-declension"
data.decl_type = "aquatic third-declension"
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
Line 838: Line 937:
setmetatable(alldata["5-a"], {__call = function(self, args, data)
setmetatable(alldata["5-a"], {__call = function(self, args, data)
local stem = args[1]
local stem = args[1]
local stemr = sub(args[1], -1) == "m" and sub(args[1], 1, -2) .. "b" or args[1]
local v = sub(stem, -2, -2)
local stemr = (sub(stem, -1) == "m" and sub(stem, 1, -3) .. lengthen(v) .. "b"
or sub(stem, -1) == "n" and sub(stem, 1, -3) .. lengthen(v) .. "d"
or stem)
local z = sub(stem, -2) == "rz"
local z = sub(stem, -2) == "rz"
local stemz = sub(stem, 1, -3)
local stemz = sub(stem, 1, -3)
Line 1,208: Line 1,310:
data.forms["ins_co"] = {"elorzo"}
data.forms["ins_co"] = {"elorzo"}
data.forms["com_co"] = {"elormo"}
data.forms["com_co"] = {"elormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
alldata["jelmor"] = function(args, data)
data.decl_type = "aquatic third-declension"
table.insert(data.categories, "High Valyrian third-declension nouns")
data.forms["nom_sg"] = {"jelmor"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"jēmbro"}
data.forms["dat_sg"] = {"jēmbrot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {"jēmbroso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {"jelmos"}
data.forms["nom_pl"] = {"jēmbra"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"jēmbroti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {"jēmbrossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {"jelmas"}
data.forms["nom_pa"] = {"jēmbrun"}
data.forms["acc_pa"] = {"jēmbruni"}
data.forms["gen_pa"] = {"jēmbruno"}
data.forms["dat_pa"] = {"jēmbrunto"}
data.forms["loc_pa"] = {"jēmbrunno"}
data.forms["ins_pa"] = {"jēmbrusso"}
data.forms["com_pa"] = {"jēmbrummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {"jēmbror"}
data.forms["acc_co"] = {"jēmbrori"}
data.forms["gen_co"] = {"jēmbroro"}
data.forms["dat_co"] = {"jēmbrorto"}
data.forms["loc_co"] = {"jēmbrorro"}
data.forms["ins_co"] = {"jēmbrorzo"}
data.forms["com_co"] = {"jēmbrormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
alldata["Qelbria"] = function(args, data)
data.decl_type = "aquatic first-declension"
table.insert(data.categories, "High Valyrian first-declension nouns")
data.forms["nom_sg"] = {"Qelbria"}
data.forms["acc_sg"] = {"Qelbri"}
data.forms["gen_sg"] = {"Qelbro"}
data.forms["dat_sg"] = {"Qelbrot"}
data.forms["loc_sg"] = {"Qelbrār"}
data.forms["ins_sg"] = {"Qelbrosa"}
data.forms["com_sg"] = {"Qelbroma"}
data.forms["voc_sg"] = {"Qelbrus"}
end
alldata["sēter"] = function(args, data)
data.decl_type = "aquatic third-declension"
table.insert(data.categories, "High Valyrian third-declension nouns")
data.forms["nom_sg"] = {"sēter"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"sētero"}
data.forms["dat_sg"] = {"sēterot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {"sēteroso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {"sēteros"}
data.forms["nom_pl"] = {"sētera"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"sēteroti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {"sēterossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {"sēteras"}
data.forms["nom_pa"] = {"sēterun"}
data.forms["acc_pa"] = {"sēteruni"}
data.forms["gen_pa"] = {"sēteruno"}
data.forms["dat_pa"] = {"sēterunto"}
data.forms["loc_pa"] = {"sēterunno"}
data.forms["ins_pa"] = {"sēterusso"}
data.forms["com_pa"] = {"sēterummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {"sēteror"}
data.forms["acc_co"] = {"sēterori"}
data.forms["gen_co"] = {"sēteroro"}
data.forms["dat_co"] = {"sēterorto"}
data.forms["loc_co"] = {"sēterorro"}
data.forms["ins_co"] = {"sēterorzo"}
data.forms["com_co"] = {"sēterormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
alldata["Junkae"] = function(args, data)
data.decl_type = "sixth-declension"
table.insert(data.categories, "High Valyrian sixth-declension proper nouns")
data.forms["nom_sg"] = {"Junkae"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"Junkaeho"}
data.forms["dat_sg"] = {"Junkaehot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {"Junkaeso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {"Junkaes"}
end
alldata["nager"] = function(args, data)
local stem = "nager"
data.decl_type = "irregular"
data.forms["nom_sg"] = {stem}
data.forms["acc_sg"] = {stem .. "ī"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ē"}
data.forms["ins_sg"] = {stem .. "ose"}
data.forms["com_sg"] = {stem .. "ome"}
data.forms["voc_sg"] = {stem .. "ys"}
data.forms["nom_pl"] = {stem .. "i"}
data.forms["acc_pl"] = {stem .. "ī"}
data.forms["gen_pl"] = {stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "ossi"}
data.forms["com_pl"] = {stem .. "ommi"}
data.forms["voc_pl"] = {stem .. "īs"}
data.forms["nom_pa"] = {stem .. "in"}
data.forms["acc_pa"] = {stem .. "ini"}
data.forms["gen_pa"] = {stem .. "ino"}
data.forms["dat_pa"] = {stem .. "inte"}
data.forms["loc_pa"] = {stem .. "inne"}
data.forms["ins_pa"] = {stem .. "isse"}
data.forms["com_pa"] = {stem .. "imme"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "er"}
data.forms["acc_co"] = {stem .. "eri"}
data.forms["gen_co"] = {stem .. "ero"}
data.forms["dat_co"] = {stem .. "erte"}
data.forms["loc_co"] = {stem .. "erre"}
data.forms["ins_co"] = {stem .. "erze"}
data.forms["com_co"] = {stem .. "erme"}
data.forms["voc_co"] = data.forms["ins_co"]
data.forms["voc_co"] = data.forms["ins_co"]
end
end


return alldata
return alldata