Module:siwa-noun/data: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 24: | Line 24: | ||
elseif stem:match("[lrs]k.$") then | elseif stem:match("[lrs]k.$") then | ||
data.forms["m"] = {s2 .. "kka"} | data.forms["m"] = {s2 .. "kka"} | ||
elseif stem:match("m.$") then | |||
data.forms["m"] = {s2 .. (data.q == "s" and "mġa" or data.q == "l" and "mka" or "kka")} | |||
elseif stem:match("n.$") then | |||
data.forms["m"] = {s2 .. (data.q == "s" and "nka" or "kka")} | |||
elseif stem:match("[pb].$") then | |||
data.forms["m"] = {s2 .. (data.q == "s" and "pra" or "ḍga")} | |||
elseif stem:match("t.$") then | |||
data.forms["m"] = {s2 .. (data.q == "s" and "tra" or "rka")} | |||
elseif stem:match("r.$") then | |||
data.forms["m"] = {s3 .. "hka"} | |||
else | |||
data.forms["m"] = {stem .. "ka"} | |||
end | end | ||
end | end |
Revision as of 17:23, 24 July 2021
- The following documentation is located at Module:siwa-noun/data/doc.[edit]
- Useful links: root page • root page's subpages • links • transclusions • testcases • sandbox
local data = {}
local sub = mw.ustring.sub
local match = mw.ustring.match
data["a"] = {
params = {
[1] = {},
},
}
setmetatable(data["a"], {__call = function(self, args, data)
local stem = data.head
local s2, s3 = sub(stem, 1, -3), sub(stem, 1, -4)
table.insert(data.categories, "Siwa inanimate nouns")
table.insert(data.categories, "Siwa a-declension nouns")
data.forms["u"] = {stem}
if stem:match("mm.$") then
data.forms["m"] = {s3 .. (data.q == "s" and "mġa" or data.q == "l" and "mka" or "kka")}
elseif stem:match("nn.$") then
data.forms["m"] = {s3 .. (data.q == "s" and "nka" or "kka")}
elseif stem:match("vv.$") then
data.forms["m"] = {s3 .. "gga"}
elseif stem:match("[lrs]k.$") then
data.forms["m"] = {s2 .. "kka"}
elseif stem:match("m.$") then
data.forms["m"] = {s2 .. (data.q == "s" and "mġa" or data.q == "l" and "mka" or "kka")}
elseif stem:match("n.$") then
data.forms["m"] = {s2 .. (data.q == "s" and "nka" or "kka")}
elseif stem:match("[pb].$") then
data.forms["m"] = {s2 .. (data.q == "s" and "pra" or "ḍga")}
elseif stem:match("t.$") then
data.forms["m"] = {s2 .. (data.q == "s" and "tra" or "rka")}
elseif stem:match("r.$") then
data.forms["m"] = {s3 .. "hka"}
else
data.forms["m"] = {stem .. "ka"}
end
end
})
return data