Module:siwa-noun/data: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 647: Line 647:
local s1, s2, s3 = sub(stem, 1, -2), sub(stem, 1, -3), sub(stem, 1, -4)
local s1, s2, s3 = sub(stem, 1, -2), sub(stem, 1, -3), sub(stem, 1, -4)
local sv = args[2]
local sv = args[2]
local av = stem:match(v.."..$") and true or false -- After Vowel
table.insert(data.categories, "Siwa n-declension nouns")
table.insert(data.categories, "Siwa n-declension nouns")
Line 731: Line 732:
params = {
params = {
[2] = {}, -- stressed vowel
[2] = {}, -- stressed vowel
["h"] = {}, -- Human
},
},
}
}
Line 748: Line 750:
data.forms["u_pl"] = {stem .. "gi", s2 .. "mṡi", s2 .. "mhi"}
data.forms["u_pl"] = {stem .. "gi", s2 .. "mṡi", s2 .. "mhi"}
data.forms["m_pl"] = {s2 .. "tagi", s2 .. "ttagi"}
data.forms["m_pl"] = {s2 .. "tagi", s2 .. "ttagi"}
elseif stem:match("[bpv]a$") then
data.forms["m_sg"] = {s2 .. "u"}
data.forms["u_pl"] = {stem .. "gi"}
data.forms["m_pl"] = {s2 .. "ugi"}
elseif stem:match("[bpv]i$") then
data.forms["m_sg"] = {s2 .. "umi"}
data.forms["u_pl"] = {stem .. "gi"}
if stem:match("[bp].$") then table.insert(data.forms["u_pl"], s2 .. "bṡi") end
data.forms["m_pl"] = {s2 .. "umṡi"}
elseif stem:match("[bpv]o$") then
data.forms["u_pl"] = {stem .. "gi"}
data.forms["m_sg"] = {s2 .. "oųi"}
data.forms["m_pl"] = {s2 .. "oṡi"}
elseif stem:match("[tn][ao]$") then
data.forms["u_pl"] = {stem .. "gi"}
data.forms["m_sg"] = {s2 .. "vva", s2 .. "ųa", s2 .. "va"}
data.forms["m_pl"] = {s2 .. "vvagi", s2 .. "ųagi", s2 .. "vagi"}
elseif stem:match("ni$") then
data.forms["u_pl"] = {stem .. "gi", s1 .. "ṡi", s1 .. "hi"}
data.forms["m_sg"] = {s2 .. "įa"}
data.forms["m_pl"] = {s2 .. "įagi"}
elseif stem:match("t[ei]$") then
data.forms["u_pl"] = {stem .. "gi", s1 .. "si"}
data.forms["m_sg"] = {s2 .. "ika"}
data.forms["m_pl"] = {s2 .. "ikagi"}
elseif stem:match("s[ao]$") then
data.forms["u_pl"] = {stem .. "gi"}
if args.h then
data.forms["m_sg"] = {s2 .. "tta"}
data.forms["m_pl"] = {s2 .. "ttagi"}
else
data.forms["m_sg"] = {s2 .. "hi", s2 .. "ḥi"}
data.forms["m_pl"] = {s2 .. "higi", s2 .. "ḥigi"}
end
elseif stem:match("si$") then
data.forms["u_pl"] = {stem .. "gi", s1 .. "sġi"}
data.forms["m_sg"] = {s2 .. "tta"}
data.forms["m_pl"] = {s2 .. "ttagi"}
elseif stem:match("ṡi$") then
data.forms["u_pl"] = {stem .. "gi"}
data.forms["m_sg"] = {s2 .. (av and "hta" or "ohta")}
data.forms["m_pl"] = {s2 .. (av and "hta" or "ohta") .. "gi"}
elseif stem:match("[lr][ao]$") then
data.forms["u_pl"] = {stem .. "gi"}
data.forms["m_sg"] = {s2 .. "sta"}
data.forms["m_pl"] = {s2 .. "stagi"}
elseif stem:match("[lr]i$") then
data.forms["u_pl"] = {s1 .. (av and "hi" or "igi")}
data.forms["m_sg"] = {s2 .. "tṡa"}
data.forms["m_pl"] = {s2 .. "tṡagi"}
elseif stem:match("lu$") then
data.forms["u_pl"] = {s1 .. (av and "hi" or "ugi")}
data.forms["m_sg"] = {s2 .. "da"}
data.forms["m_pl"] = {s2 .. "dagi"}
elseif stem:match("k[ao]$") then
data.forms["u_pl"] = {stem .. "gi"}
data.forms["m_sg"] = {s2 .. "uni"}
data.forms["m_pl"] = {s2 .. "unhi"}
elseif stem:match("ki$") then
data.forms["u_pl"] = {s1 .. (av and "ṡi" or "igi")}
data.forms["m_sg"] = {s2 .. "tṡa"}
data.forms["m_pl"] = {s2 .. "tṡagi"}
elseif stem:match("g[aoi]$") then
data.forms["u_pl"] = {stem .. "gi"}
if args.h then
data.forms["m_sg"] = {s2 .. "tsa"}
data.forms["m_pl"] = {s2 .. "tsagi"}
else
data.forms["m_sg"] = {s2 .. "ubi"}
data.forms["m_pl"] = {s2 .. "ubigi", s2 .. "ubṡi"}
end
elseif stem:match("h[ao]$") then
data.forms["u_pl"] = {stem .. "gi"}
data.forms["m_sg"] = {s2 .. "ra"}
data.forms["m_pl"] = {s2 .. "ragi"}
elseif stem:match("hi$") then
data.forms["u_pl"] = {stem .. "gi"}
data.forms["m_sg"] = {s2 .. "tṡa"}
data.forms["m_pl"] = {s2 .. "tṡagi"}
elseif stem:match("[iy]$") then
data.forms["u_pl"] = {stem .. "gi"}
data.forms["m_sg"] = {stem .. "tṡa"}
data.forms["m_pl"] = {stem .. "tṡagi"}
end
if match(data.forms["u_pl"], "igi$") then
table.insert(data.forms["u_pl"], s1 .. "ęgi")
end
if match(data.forms["m_pl"], "igi$") then
table.insert(data.forms["m_pl"], s1 .. "ęgi")
end
end
--[[if stem:match("i$") then
table.insert(data.forms["u_pl"])
end]]
end
end
})
})


return data
return data