Module:dum-common
Appearance
- The following documentation is located at Module:dum-common/documentation. [edit] Categories were auto-generated by Module:module categorization. [edit]
- Useful links: subpage list • links • transclusions • testcases • sandbox
local export = {}
function export.checked(stem)
local rest, vowel, cons = mw.ustring.match(stem, "^(.-)([aeiouâêîôûāēōë]+)([^aeiouâêîôûāēōë]+)$")
if not rest then
return stem
end
if mw.ustring.len(cons) == 1 and mw.ustring.len(vowel) == 1 then
if mw.ustring.find(vowel, "[âêāē]") then
vowel = vowel .. "e"
elseif mw.ustring.find(vowel, "[iî]") then
vowel = vowel .. "j"
elseif mw.ustring.find(vowel, "[ôō]") then
vowel = vowel .. "o"
elseif mw.ustring.find(vowel, "[uû]") then
vowel = vowel .. "u"
end
end
cons = mw.ustring.gsub(cons, "(.)%1", "%1")
cons = mw.ustring.gsub(cons, "c?k$", "c")
return rest .. vowel .. cons
end
function export.devoiced(stem)
local rest, cons = mw.ustring.match(stem, "^(.-)([^aeiouâêîôûāēōë]+)$")
if not rest then
return stem
end
cons = mw.ustring.gsub(cons, "(.)%1", "%1")
cons = mw.ustring.gsub(cons, "ng$", "nc")
cons = mw.ustring.gsub(cons, "[bdgv]", {["b"] = "p", ["d"] = "t", ["g"] = "ch", ["v"] = "f"})
cons = mw.ustring.gsub(cons, "c?k$", "c")
return rest .. cons
end
function export.final(stem)
return export.devoiced(export.checked(stem))
end
return export