47,637
edits
No edit summary |
mNo edit summary |
||
(30 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 nouns") | 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") | |||
data.forms["nom_sg"] = {stem .. "a"} | data.forms["nom_sg"] = {stem .. "a"} | ||
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 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 nouns") | table.insert(data.categories, "High Valyrian first-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "ar"} | data.forms["nom_sg"] = {stem .. "ar"} | ||
data.forms["acc_sg"] = { | data.forms["acc_sg"] = {stemr .. "ri"} | ||
data.forms["gen_sg"] = { | data.forms["gen_sg"] = {stemr .. "ro"} | ||
data.forms["dat_sg"] = { | data.forms["dat_sg"] = {stemr .. "rot"} | ||
data.forms["loc_sg"] = {stem .. "ār"} | data.forms["loc_sg"] = {stem .. "ār"} | ||
data.forms["ins_sg"] = { | data.forms["ins_sg"] = {stemr .. "rosa"} | ||
data.forms["com_sg"] = { | data.forms["com_sg"] = {stemr .. "roma"} | ||
data.forms["voc_sg"] = {stem .. "us"} | data.forms["voc_sg"] = {stem .. "us"} | ||
if not args.nopl then | if not args.nopl then | ||
data.forms["nom_pl"] = { | data.forms["nom_pl"] = {stemr .. "ri"} | ||
data.forms["acc_pl"] = { | data.forms["acc_pl"] = {stemr .. "rī"} | ||
data.forms["gen_pl"] = {stem .. "oti"} | data.forms["gen_pl"] = {stem .. "oti"} | ||
data.forms["dat_pl"] = data.forms["gen_pl"] | data.forms["dat_pl"] = data.forms["gen_pl"] | ||
data.forms["loc_pl"] = data.forms["gen_pl"] | data.forms["loc_pl"] = data.forms["gen_pl"] | ||
data.forms["ins_pl"] = { | data.forms["ins_pl"] = {stemr .. "rossi"} | ||
data.forms["com_pl"] = { | data.forms["com_pl"] = {stemr .. "rommi"} | ||
data.forms["voc_pl"] = {stem .. "is"} | data.forms["voc_pl"] = {stem .. "is"} | ||
data.forms["nom_pa"] = { | data.forms["nom_pa"] = {stemr .. "run"} | ||
data.forms["acc_pa"] = { | data.forms["acc_pa"] = {stemr .. "runi"} | ||
data.forms["gen_pa"] = { | data.forms["gen_pa"] = {stemr .. "runo"} | ||
data.forms["dat_pa"] = { | data.forms["dat_pa"] = {stemr .. "runta"} | ||
data.forms["loc_pa"] = { | data.forms["loc_pa"] = {stemr .. "runna"} | ||
data.forms["ins_pa"] = { | data.forms["ins_pa"] = {stemr .. "russa"} | ||
data.forms["com_pa"] = { | data.forms["com_pa"] = {stemr .. "rumma"} | ||
data.forms["voc_pa"] = data.forms["ins_pa"] | data.forms["voc_pa"] = data.forms["ins_pa"] | ||
data.forms["nom_co"] = { | data.forms["nom_co"] = {stemr .. "rar"} | ||
data.forms["acc_co"] = { | data.forms["acc_co"] = {stemr .. "rari"} | ||
data.forms["gen_co"] = { | data.forms["gen_co"] = {stemr .. "raro"} | ||
data.forms["dat_co"] = { | data.forms["dat_co"] = {stemr .. "rarta"} | ||
data.forms["loc_co"] = { | data.forms["loc_co"] = {stemr .. "rarra"} | ||
data.forms["ins_co"] = { | data.forms["ins_co"] = {stemr .. "rarza"} | ||
data.forms["com_co"] = { | 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 116: | Line 213: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "lunar second-declension" | data.decl_type = "lunar second-declension" | ||
table.insert(data.categories, "High Valyrian second-declension nouns") | table.insert(data.categories, "High Valyrian second-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "y"} | data.forms["nom_sg"] = {stem .. "y"} | ||
Line 167: | Line 264: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "solar second-declension" | data.decl_type = "solar second-declension" | ||
table.insert(data.categories, "High Valyrian second-declension nouns") | table.insert(data.categories, "High Valyrian second-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "ys"} | data.forms["nom_sg"] = {stem .. "ys"} | ||
Line 220: | Line 317: | ||
local stemi = sub(stem, 1, -2) | local stemi = sub(stem, 1, -2) | ||
data.decl_type = "lunar third-declension" | data.decl_type = "lunar third-declension" | ||
table.insert(data.categories, "High Valyrian third-declension nouns") | table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "o"} | data.forms["nom_sg"] = {stem .. "o"} | ||
Line 271: | Line 368: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "solar third-declension" | data.decl_type = "solar third-declension" | ||
table.insert(data.categories, "High Valyrian third-declension nouns") | table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "os"} | data.forms["nom_sg"] = {stem .. "os"} | ||
Line 322: | Line 419: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "k-stem solar third-declension" | data.decl_type = "k-stem solar third-declension" | ||
table.insert(data.categories, "High Valyrian third-declension nouns") | table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
table.insert(data.categories, "High Valyrian k-stem nouns") | table.insert(data.categories, "High Valyrian k-stem " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "ks"} | data.forms["nom_sg"] = {stem .. "ks"} | ||
Line 372: | Line 469: | ||
} | } | ||
setmetatable(alldata["3-s-v"], {__call = function(self, args, data) | setmetatable(alldata["3-s-v"], {__call = function(self, args, data) | ||
local stem = 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 nouns") | table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
table.insert(data.categories, "High Valyrian v-stem nouns") | table.insert(data.categories, "High Valyrian v-stem " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem} | data.forms["nom_sg"] = {stem .. "ȳs"} | ||
data.forms["acc_sg"] = data.forms["nom_sg"] | data.forms["acc_sg"] = data.forms["nom_sg"] | ||
data.forms["gen_sg"] = {stem .. "yvo"} | data.forms["gen_sg"] = {stem .. "yvo"} | ||
Line 426: | Line 523: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "h-stem solar third-declension" | data.decl_type = "h-stem solar third-declension" | ||
table.insert(data.categories, "High Valyrian third-declension nouns") | table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
table.insert(data.categories, "High Valyrian h-stem nouns") | table.insert(data.categories, "High Valyrian h-stem " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "s"} | data.forms["nom_sg"] = {stem .. "s"} | ||
Line 480: | Line 577: | ||
local stemi = sub(stem, 1, -2) | local stemi = sub(stem, 1, -2) | ||
data.decl_type = "terrestrial third-declension" | data.decl_type = "terrestrial third-declension" | ||
table.insert(data.categories, "High Valyrian third-declension nouns") | table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "on"} | data.forms["nom_sg"] = {stem .. "on"} | ||
Line 530: | 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 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 nouns") | table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "or"} | data.forms["nom_sg"] = {stem .. "or"} | ||
data.forms["acc_sg"] = data.forms["nom_sg"] | data.forms["acc_sg"] = data.forms["nom_sg"] | ||
data.forms["gen_sg"] = { | data.forms["gen_sg"] = {stemr .. "ro"} | ||
data.forms["dat_sg"] = { | data.forms["dat_sg"] = {stemr .. "rot"} | ||
data.forms["loc_sg"] = data.forms["dat_sg"] | data.forms["loc_sg"] = data.forms["dat_sg"] | ||
data.forms["ins_sg"] = { | data.forms["ins_sg"] = {stemr .. "roso"} | ||
data.forms["com_sg"] = data.forms["ins_sg"] | data.forms["com_sg"] = data.forms["ins_sg"] | ||
data.forms["voc_sg"] = {stem .. "os"} | data.forms["voc_sg"] = {stem .. "os"} | ||
if not args.nopl then | if not args.nopl then | ||
data.forms["nom_pl"] = { | data.forms["nom_pl"] = {stemr .. "ra"} | ||
data.forms["acc_pl"] = data.forms["nom_pl"] | data.forms["acc_pl"] = data.forms["nom_pl"] | ||
data.forms["gen_pl"] = { | data.forms["gen_pl"] = {stemr .. "roti"} | ||
data.forms["dat_pl"] = data.forms["gen_pl"] | data.forms["dat_pl"] = data.forms["gen_pl"] | ||
data.forms["loc_pl"] = data.forms["gen_pl"] | data.forms["loc_pl"] = data.forms["gen_pl"] | ||
data.forms["ins_pl"] = { | data.forms["ins_pl"] = {stemr .. "rossi"} | ||
data.forms["com_pl"] = data.forms["ins_pl"] | data.forms["com_pl"] = data.forms["ins_pl"] | ||
data.forms["voc_pl"] = {stem .. "as"} | data.forms["voc_pl"] = {stem .. "as"} | ||
data.forms["nom_pa"] = { | data.forms["nom_pa"] = {stemr .. "run"} | ||
data.forms["acc_pa"] = { | data.forms["acc_pa"] = {stemr .. "runi"} | ||
data.forms["gen_pa"] = { | data.forms["gen_pa"] = {stemr .. "runo"} | ||
data.forms["dat_pa"] = { | data.forms["dat_pa"] = {stemr .. "runto"} | ||
data.forms["loc_pa"] = { | data.forms["loc_pa"] = {stemr .. "runno"} | ||
data.forms["ins_pa"] = { | data.forms["ins_pa"] = {stemr .. "russo"} | ||
data.forms["com_pa"] = { | data.forms["com_pa"] = {stemr .. "rummo"} | ||
data.forms["voc_pa"] = data.forms["ins_pa"] | data.forms["voc_pa"] = data.forms["ins_pa"] | ||
data.forms["nom_co"] = { | data.forms["nom_co"] = {stemr .. "ror"} | ||
data.forms["acc_co"] = { | data.forms["acc_co"] = {stemr .. "rori"} | ||
data.forms["gen_co"] = { | data.forms["gen_co"] = {stemr .. "roro"} | ||
data.forms["dat_co"] = { | data.forms["dat_co"] = {stemr .. "rorto"} | ||
data.forms["loc_co"] = { | data.forms["loc_co"] = {stemr .. "rorro"} | ||
data.forms["ins_co"] = { | data.forms["ins_co"] = {stemr .. "rorzo"} | ||
data.forms["com_co"] = { | data.forms["com_co"] = {stemr .. "rormo"} | ||
data.forms["voc_co"] = data.forms["ins_co"] | data.forms["voc_co"] = data.forms["ins_co"] | ||
end | end | ||
Line 582: | Line 683: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "lunar fourth-declension" | data.decl_type = "lunar fourth-declension" | ||
table.insert(data.categories, "High Valyrian fourth-declension nouns") | table.insert(data.categories, "High Valyrian fourth-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "e"} | data.forms["nom_sg"] = {stem .. "e"} | ||
Line 633: | Line 734: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "solar fourth-declension" | data.decl_type = "solar fourth-declension" | ||
table.insert(data.categories, "High Valyrian fourth-declension nouns") | table.insert(data.categories, "High Valyrian fourth-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "es"} | data.forms["nom_sg"] = {stem .. "es"} | ||
Line 684: | Line 785: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "terrestrial fourth-declension" | data.decl_type = "terrestrial fourth-declension" | ||
table.insert(data.categories, "High Valyrian fourth-declension nouns") | table.insert(data.categories, "High Valyrian fourth-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "ien"} | data.forms["nom_sg"] = {stem .. "ien"} | ||
Line 735: | Line 836: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "lunar fifth-declension" | data.decl_type = "lunar fifth-declension" | ||
table.insert(data.categories, "High Valyrian fifth-declension nouns") | table.insert(data.categories, "High Valyrian fifth-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "i"} | data.forms["nom_sg"] = {stem .. "i"} | ||
Line 786: | Line 887: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "solar fifth-declension" | data.decl_type = "solar fifth-declension" | ||
table.insert(data.categories, "High Valyrian fifth-declension nouns") | table.insert(data.categories, "High Valyrian fifth-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "is"} | data.forms["nom_sg"] = {stem .. "is"} | ||
Line 836: | 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 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) | ||
data.decl_type = "aquatic fifth-declension" | data.decl_type = "aquatic fifth-declension" | ||
table.insert(data.categories, "High Valyrian fifth-declension nouns") | table.insert(data.categories, "High Valyrian fifth-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "ir"} | data.forms["nom_sg"] = {stem .. "ir"} | ||
data.forms["acc_sg"] = data.forms["nom_sg"] | data.forms["acc_sg"] = data.forms["nom_sg"] | ||
data.forms["gen_sg"] = {z and stemz .. "rjio" or | data.forms["gen_sg"] = {z and stemz .. "rjio" or stemr .. "rio"} | ||
data.forms["dat_sg"] = {z and stemz .. "rjiot" or | data.forms["dat_sg"] = {z and stemz .. "rjiot" or stemr .. "riot"} | ||
data.forms["loc_sg"] = {stem .. "īr"} | data.forms["loc_sg"] = {stem .. "īr"} | ||
data.forms["ins_sg"] = {z and stemz .. "rjȳsi" or | data.forms["ins_sg"] = {z and stemz .. "rjȳsi" or stemr .. "ȳsi"} | ||
data.forms["com_sg"] = {z and stemz .. "rjȳmi" or | data.forms["com_sg"] = {z and stemz .. "rjȳmi" or stemr .. "ȳmi"} | ||
data.forms["voc_sg"] = {stem .. "ys"} | data.forms["voc_sg"] = {stem .. "ys"} | ||
if not args.nopl then | if not args.nopl then | ||
data.forms["nom_pl"] = {z and stemz .. "rja" or | data.forms["nom_pl"] = {z and stemz .. "rja" or stemr .. "ra"} | ||
data.forms["acc_pl"] = data.forms["nom_pl"] | data.forms["acc_pl"] = data.forms["nom_pl"] | ||
data.forms["gen_pl"] = {z and stemz .. "rjȳti" or | data.forms["gen_pl"] = {z and stemz .. "rjȳti" or stemr .. "rȳti"} | ||
data.forms["dat_pl"] = data.forms["gen_pl"] | data.forms["dat_pl"] = data.forms["gen_pl"] | ||
data.forms["loc_pl"] = data.forms["gen_pl"] | data.forms["loc_pl"] = data.forms["gen_pl"] | ||
data.forms["ins_pl"] = {z and stemz .. "rjȳssi" or | data.forms["ins_pl"] = {z and stemz .. "rjȳssi" or stemr .. "rȳssi"} | ||
data.forms["com_pl"] = {z and stemz .. "rjȳmmi" or | data.forms["com_pl"] = {z and stemz .. "rjȳmmi" or stemr .. "rȳmmi"} | ||
data.forms["voc_pl"] = {stem .. "as"} | data.forms["voc_pl"] = {stem .. "as"} | ||
data.forms["nom_pa"] = {z and stemz .. "rjin" or | data.forms["nom_pa"] = {z and stemz .. "rjin" or stemr .. "rin"} | ||
data.forms["acc_pa"] = {z and stemz .. "rjini" or | data.forms["acc_pa"] = {z and stemz .. "rjini" or stemr .. "rini"} | ||
data.forms["gen_pa"] = {z and stemz .. "rjino" or | data.forms["gen_pa"] = {z and stemz .. "rjino" or stemr .. "rino"} | ||
data.forms["dat_pa"] = {z and stemz .. "rjinti" or | data.forms["dat_pa"] = {z and stemz .. "rjinti" or stemr .. "rinti"} | ||
data.forms["loc_pa"] = {z and stemz .. "rjinni" or | data.forms["loc_pa"] = {z and stemz .. "rjinni" or stemr .. "rinni"} | ||
data.forms["ins_pa"] = {z and stemz .. "rjissi" or | data.forms["ins_pa"] = {z and stemz .. "rjissi" or stemr .. "rissi"} | ||
data.forms["com_pa"] = {z and stemz .. "rjimmi" or | data.forms["com_pa"] = {z and stemz .. "rjimmi" or stemr .. "rimmi"} | ||
data.forms["voc_pa"] = data.forms["ins_pa"] | data.forms["voc_pa"] = data.forms["ins_pa"] | ||
data.forms["nom_co"] = {z and stemz .. "rjir" or | data.forms["nom_co"] = {z and stemz .. "rjir" or stemr .. "rir"} | ||
data.forms["acc_co"] = {z and stemz .. "rjiri" or | data.forms["acc_co"] = {z and stemz .. "rjiri" or stemr .. "riri"} | ||
data.forms["gen_co"] = {z and stemz .. "rjiro" or | data.forms["gen_co"] = {z and stemz .. "rjiro" or stemr .. "riro"} | ||
data.forms["dat_co"] = {z and stemz .. "rjirti" or | data.forms["dat_co"] = {z and stemz .. "rjirti" or stemr .. "rirti"} | ||
data.forms["loc_co"] = {z and stemz .. "rjirri" or | data.forms["loc_co"] = {z and stemz .. "rjirri" or stemr .. "rirri"} | ||
data.forms["ins_co"] = {z and stemz .. "rjirzi" or | data.forms["ins_co"] = {z and stemz .. "rjirzi" or stemr .. "rirzi"} | ||
data.forms["com_co"] = {z and stemz .. "rjirmi" or | data.forms["com_co"] = {z and stemz .. "rjirmi" or stemr .. "rirmi"} | ||
data.forms["voc_co"] = data.forms["ins_co"] | data.forms["voc_co"] = data.forms["ins_co"] | ||
end | end | ||
Line 946: | Line 1,051: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "sixth-declension" | data.decl_type = "sixth-declension" | ||
table.insert(data.categories, "High Valyrian sixth-declension nouns") | table.insert(data.categories, "High Valyrian sixth-declension " .. (data.proper and "proper " or "") .. "nouns") | ||
data.forms["nom_sg"] = {stem .. "i", stem} | |||
data.forms["acc_sg"] = {stem .. "i"} | |||
data.forms["gen_sg"] = {stem .. "o"} | |||
data.forms["dat_sg"] = {stem .. "ot"} | |||
data.forms["loc_sg"] = {stem .. "ī"} | |||
data.forms["ins_sg"] = {stem .. "isi"} | |||
data.forms["com_sg"] = {stem .. "imi"} | |||
data.forms["voc_sg"] = {stem .. "is"} | |||
if not args.nopl then | |||
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 .. "issi"} | |||
data.forms["com_pl"] = {stem .. "immi"} | |||
data.forms["voc_pl"] = {stem .. "issis"} | |||
data.forms["nom_pa"] = {stem .. "in"} | |||
data.forms["acc_pa"] = {stem .. "ini"} | |||
data.forms["gen_pa"] = {stem .. "ino"} | |||
data.forms["dat_pa"] = {stem .. "inti"} | |||
data.forms["loc_pa"] = {stem .. "inni"} | |||
data.forms["ins_pa"] = {stem .. "issi"} | |||
data.forms["com_pa"] = {stem .. "immi"} | |||
data.forms["voc_pa"] = data.forms["ins_pa"] | |||
data.forms["nom_co"] = {stem .. "ir"} | |||
data.forms["acc_co"] = {stem .. "iri"} | |||
data.forms["gen_co"] = {stem .. "iro"} | |||
data.forms["dat_co"] = {stem .. "irti"} | |||
data.forms["loc_co"] = {stem .. "irri"} | |||
data.forms["ins_co"] = {stem .. "irzi"} | |||
data.forms["com_co"] = {stem .. "irmi"} | |||
data.forms["voc_co"] = data.forms["ins_co"] | |||
end | |||
end | |||
}) | |||
alldata["6-u"] = { | |||
params = { | |||
[1] = {}, | |||
["nopl"] = {}, | |||
}, | |||
} | |||
setmetatable(alldata["6-u"], {__call = function(self, args, data) | |||
local stem = args[1] | |||
data.decl_type = "sixth-declension" | |||
table.insert(data.categories, "High Valyrian sixth-declension " .. (data.proper and "proper " or "") .. "nouns") | |||
data.forms["nom_sg"] = { | data.forms["nom_sg"] = {stem .. "i", stem} | ||
data.forms["acc_sg"] = {stem .. "i"} | data.forms["acc_sg"] = {stem .. "i"} | ||
data.forms["gen_sg"] = {stem .. "o"} | data.forms["gen_sg"] = {stem .. "o"} | ||
Line 1,072: | Line 1,228: | ||
end | end | ||
alldata[" | alldata["nāqopsir"] = function(args, data) | ||
data.decl_type = "lunar fifth-declension" | |||
table.insert(data.categories, "High Valyrian fifth-declension nouns") | |||
}, | data.forms["nom_sg"] = {"nāqopsir"} | ||
} | data.forms["acc_sg"] = data.forms["nom_sg"] | ||
data.forms["gen_sg"] = {"nāqobjio", "nāqōjio"} | |||
data.forms["dat_sg"] = {"nāqobjiot", "nāqōjiot"} | |||
data.forms["loc_sg"] = {"nāqobjī", "nāqōjī"} | |||
data.forms["ins_sg"] = {"nāqobjȳsi", "nāqōjȳsi"} | |||
data.forms["com_sg"] = {"nāqobjȳmi", "nāqōjȳmi"} | |||
data.forms["voc_sg"] = {"nāqobjys", "nāqōjys"} | |||
data.forms["nom_pl"] = {"nāqobja", "nāqōja"} | |||
data.forms["acc_pl"] = data.forms["nom_pl"] | |||
data.forms["gen_pl"] = {"nāqobjȳti", "nāqōjȳti"} | |||
data.forms["dat_pl"] = data.forms["gen_pl"] | |||
data.forms["loc_pl"] = data.forms["gen_pl"] | |||
data.forms["ins_pl"] = {"nāqobjȳssi", "nāqōjȳssi"} | |||
data.forms["com_pl"] = {"nāqobjȳmmi", "nāqōjȳmmi"} | |||
data.forms["voc_pl"] = {"nāqobjas", "nāqōjas"} | |||
data.forms["nom_pa"] = {"nāqobjin", "nāqōjin"} | |||
data.forms["acc_pa"] = {"nāqobjini", "nāqōjini"} | |||
data.forms["gen_pa"] = {"nāqobjino", "nāqōjino"} | |||
data.forms["dat_pa"] = {"nāqobjinti", "nāqōjinti"} | |||
data.forms["loc_pa"] = {"nāqobjinni", "nāqōjinni"} | |||
data.forms["ins_pa"] = {"nāqobjissi", "nāqōjissi"} | |||
data.forms["com_pa"] = {"nāqobjimmi", "nāqōjimmi"} | |||
data.forms["voc_pa"] = data.forms["ins_pa"] | |||
data.forms["nom_co"] = {"nāqobjir", "nāqōjir"} | |||
data.forms["acc_co"] = {"nāqobjiri", "nāqōjiri"} | |||
data.forms["gen_co"] = {"nāqobjiro", "nāqōjiro"} | |||
data.forms["dat_co"] = {"nāqobjirti", "nāqōjirti"} | |||
data.forms["loc_co"] = {"nāqobjirri", "nāqōjirri"} | |||
data.forms["ins_co"] = {"nāqobjirzi", "nāqōjirzi"} | |||
data.forms["com_co"] = {"nāqobjirmi", "nāqōjirmi"} | |||
data.forms["voc_co"] = data.forms["ins_co"] | |||
end | |||
alldata["ēs"] = function(args, data) | |||
data.decl_type = "l-stem solar third-declension" | |||
table.insert(data.categories, "High Valyrian third-declension nouns") | |||
table.insert(data.categories, "High Valyrian l-stem nouns") | |||
data.forms["nom_sg"] = {"ēs"} | |||
data.forms["acc_sg"] = data.forms["nom_sg"] | |||
data.forms["gen_sg"] = {"elo"} | |||
data.forms["dat_sg"] = {"elot"} | |||
data.forms["loc_sg"] = data.forms["dat_sg"] | |||
data.forms["ins_sg"] = {"ēso"} | |||
data.forms["com_sg"] = data.forms["ins_sg"] | |||
data.forms["voc_sg"] = data.forms["nom_sg"] | |||
data.forms["nom_pl"] = {"elossa"} | |||
data.forms["acc_pl"] = data.forms["nom_pl"] | |||
data.forms["gen_pl"] = {"eloti"} | |||
data.forms["dat_pl"] = data.forms["gen_pl"] | |||
data.forms["loc_pl"] = data.forms["gen_pl"] | |||
data.forms["ins_pl"] = {"elossi"} | |||
data.forms["com_pl"] = data.forms["ins_pl"] | |||
data.forms["voc_pl"] = {"elossas"} | |||
data.forms["nom_pa"] = {"elun"} | |||
data.forms["acc_pa"] = {"eluni"} | |||
data.forms["gen_pa"] = {"eluno"} | |||
data.forms["dat_pa"] = {"elunto"} | |||
data.forms["loc_pa"] = {"elunno"} | |||
data.forms["ins_pa"] = {"elusso"} | |||
data.forms["com_pa"] = {"elummo"} | |||
data.forms["voc_pa"] = data.forms["ins_pa"] | |||
data.forms["nom_co"] = {"elor"} | |||
data.forms["acc_co"] = {"elori"} | |||
data.forms["gen_co"] = {"eloro"} | |||
data.forms["dat_co"] = {"elorto"} | |||
data.forms["loc_co"] = {"elorro"} | |||
data.forms["ins_co"] = {"elorzo"} | |||
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" | data.decl_type = "sixth-declension" | ||
table.insert(data.categories, "High Valyrian sixth-declension nouns") | 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 | |||
data.forms["nom_sg"] = {stem | alldata["nager"] = function(args, data) | ||
data.forms["acc_sg"] = {stem .. " | 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["gen_sg"] = {stem .. "o"} | ||
data.forms["dat_sg"] = {stem .. "ot"} | data.forms["dat_sg"] = {stem .. "ot"} | ||
data.forms["loc_sg"] = {stem .. " | data.forms["loc_sg"] = {stem .. "ē"} | ||
data.forms["ins_sg"] = {stem .. " | data.forms["ins_sg"] = {stem .. "ose"} | ||
data.forms["com_sg"] = {stem .. " | data.forms["com_sg"] = {stem .. "ome"} | ||
data.forms["voc_sg"] = {stem .. " | 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"] | |||
end | end | ||
return alldata | return alldata |