45,333
edits
No edit summary |
No edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
Line 17: | Line 17: | ||
end | end | ||
local function plural(word, n) | local function plural(word, n, pos) | ||
local w = split(word, " | local w = split(word, " ") | ||
if n > | n = tonumber(n) | ||
if n > #w then error("Word index outside bounds.") end | |||
if w[n]:match("[kh]wa$") or w[n]:match("a$") then | if pos == "n" then | ||
if w[n]:match("[kh]wa$") or w[n]:match("a$") then | |||
w[n] = sub(w[n], 1, -1) .. "úr" | |||
w[n] = w[n] .. " | elseif w[n]:match("ës$") or w[n]:match("uin$") or w[n]:match("[str]$") then | ||
elseif w[n]:match("[ | w[n] = w[n] .. "á" | ||
w[n] = w[n] .. " | elseif w[n]:match("[nml]$") then | ||
w[n] = w[n] .. "ur" | |||
end | |||
elseif pos == "adj" then | |||
if w[n]:match("[kh]win$") then | |||
w[n] = sub(w[n], 1, -4) .. "ú" | |||
elseif w[n]:match("in$") then | |||
w[n] = sub(w[n], 1, -3) .. "u" | |||
end | |||
end | end | ||
return {label = "plural", table.concat( | return {label = "plural", table.concat(w, " ")} | ||
end | end | ||
Line 60: | Line 69: | ||
table.insert(data.inflections, pl) | table.insert(data.inflections, pl) | ||
else | else | ||
table.insert(data.inflections, plural(word, args.n)) | table.insert(data.inflections, plural(word, args.n, pos)) | ||
end | end | ||
end | end |