Module:siwa-noun/data: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 69: Line 69:
loc = s2 .. "ki"
loc = s2 .. "ki"
else
else
data.forms["m"] = {stem .. "ka"}
data.forms["m"] = {lenition(stem) .. "ka"}
loc = stem .. "ki"
loc = lenition(stem) .. "ki"
end
end
Line 137: Line 137:
loc = s2 .. "ġġi"
loc = s2 .. "ġġi"
else
else
data.forms["m"] = {stem .. "ri"}
data.forms["m"] = {lenition(stem) .. "ri"}
loc = stem .. "ri"
loc = lenition(stem) .. "ri"
end
end
elseif stem:match("[io]$") then
elseif stem:match("[io]$") then
Line 190: Line 190:
})
})


 
data["i"] = {
params = {
[1] = {},
},
}
setmetatable(data["i"], {__call = function(self, args, data)
local stem = data.head
local s1, s2, s3 = sub(lenition(stem), 1, -2), sub(lenition(stem), 1, -3), sub(lenition(stem), 1, -4)
table.insert(data.categories, "Siwa i-declension nouns")
data.forms["u"] = {stem}
if stem:match(v.."mm.$") then
data.forms["m"] = {s3 .. "ndi"}
loc = s3 .. "ndi"
elseif stem:match("[uo][mn].$") then
data.forms["m"] = {s3 .. "õdi"}
loc = s3 .. "õdi"
elseif stem:match(v.."[mn].$") then
data.forms["m"] = {s2 .. "ndi"}
loc = s2 .. "ndi"
elseif stem:match(v.."[vg].$") then
data.forms["m"] = {s2 .. "ḍḍi"}
if sub(stem, -2, -2) == "g" then table.insert(data.forms["m"], s2 .. "hdi") end
ela, ade = s2 .. "ḍ"
ine, ill, all, abl = s2 .. "ḍḍi"
elseif stem:match(v.."s.$") then
data.forms["m"] = {s2 .. "sti"}
loc = s2 .. "sti"
elseif stem:match(v.."[rhk].$") then
data.forms["m"] = {s2 .. "hdi"}
loc = s2 .. "hdi"
elseif stem:match(v.."l.$") then
data.forms["m"] = {s2 .. "ldi"}
loc = s2 .. "ldi"
elseif stem:match("i$") then
data.forms["m"] = {s1 .. "id"}
ill, ela, ade = s1 .. "ih", s1 .. "ih", s1 .. "ih"
ine = s1 .. "idi"
table.insert(data.forms["ine"], s1 .. "ỉ")
all, abl = s1 .. "ỉ", s1 .. "ỉ"
else
data.forms["m"] = {lenition(stem) .. "di"}
ill, ela, ade = lenition(stem) .. "h", lenition(stem) .. "h", lenition(stem) .. "h"
all, abl = lenition(stem) .. "i", lenition(stem) .. "i"
ine = lenition(stem) .. "di"
end
data.forms["ine"] = {(ine or loc) .. ce[1]}
data.forms["ill"] = {(ill or loc) .. ce[2]}
data.forms["ela"] = {(ela or loc) .. ce[3]}
data.forms["ade"] = {(ade or loc) .. ce[4]}
data.forms["all"] = {(all or loc) .. ce[5]}
data.forms["abl"] = {(abl or loc) .. ce[6]}
end
})


return data
return data