local export = {}
local langdata = {
consonant = {
"^(.-)(*)$",
},
vowel = {
"^(.-)(eä)$",
"^(.-)(i)$",
"^(.-)(u)$",
"^(.-)(yö)$",
"^(.-)(å̄)$",
"^(.-)(?)$",
},
scons = {
= {
},
= {
{"^bm$", "m", "bˈm"},
{"^dn(j?)$", "n%1", "dˈn%1"},
{"^gŋ$", "ŋ", "gˈŋ"},
{"^()%1$", "%1", "%1ˈ%1"},
{"^hp$", "b", "hpp"},
{"^ht$", "d", "htt"},
{"^ht()$", "t%1", "htt%1"},
{"^hk$", "g", "hkk"},
{"^()%1j$", "%1j", "%1ˈ%1j"},
},
= {
{"^bˈb$", "bb"},
{"^gˈg$", "gg"},
{"^dˈt()$", "dt%1"},
{"^(l)%1()$", "%1%2"},
{"^(s)%1(j?)$", "%1%2"},
{"^(b)()%2$", "%1%2"},
{"^(đ)()%2$", "%1%2"},
{"^(g)()%2$", "%1%2"},
{"^(j)()%2$", "%1%2"},
{"^(js)s(j)$", "%1%2"},
{"^(jt)t()$", "%1%2"},
{"^(k)()%2$", "%1%2"},
{"^(ks)s(j)$", "%1%2"},
{"^(kt)t()$", "%1%2"},
{"^(l)()%2$", "%1%2"},
{"^(ls)s(j)$", "%1%2"},
{"^(lt)t()$", "%1%2"},
{"^(m)()%2$", "%1%2"},
{"^(mt)t()$", "%1%2"},
{"^(nj?)()%2$", "%1%2"},
{"^(nj?t)t()$", "%1%2"},
{"^(ŋ)()%2$", "%1%2"},
{"^(p)()%2$", "%1%2"},
{"^(ps)s(j)$", "%1%2"},
{"^(pt)t()$", "%1%2"},
{"^(r)()%2$", "%1%2"},
{"^(rs)s(j)$", "%1%2"},
{"^(rt)t()$", "%1%2"},
{"^(s)()%2$", "%1%2"},
{"^(ŧ)()%2$", "%1%2"},
{"^(v)()%2$", "%1%2"},
{"^(vs)s(j)$", "%1%2"},
{"^(vt)t()$", "%1%2"},
{"^()d(n)$", "%1%2"},
},
},
vowel_variants = {
normal = { = {"ie", "R"}, },
v = { = {"u"}, = {"ie", "R"}, },
j = { = {"i"}, = {"i", "I"} , },
je = { = {"i"}, = {"á", "L"} , = {"i", "U"}},
},
postprocess = function(form, vowel_effect)
-- Vowel changes before Q1/Q2
if form.quantity < 3 then
if form.svowel == "eä" then
form.svowel = "iä"
end
else
if form.svowel == "ie" or form.svowel == "iä" then
form.svowel = "eä"
end
end
if vowel_effect == "L" then
if form.svowel == "i" then
form.svowel = "ï"
elseif form.svowel == "ü" then
form.svowel = "u"
elseif form.svowel == "ie" then
form.svowel = "iä"
elseif form.svowel == "uö" then
form.svowel = "ua"
end
elseif vowel_effect == "R" then
if form.svowel == "iä" then
form.svowel = "ie"
end
elseif vowel_effect == "I" then
if form.svowel == "a" then
form.svowel = "e"
elseif form.svowel == "ï" then
form.svowel = "i"
elseif form.svowel == "u" or form.svowel == "å" then
form.svowel = "ü"
elseif form.svowel == "á" then
form.svowel = "ä"
elseif form.svowel == "eä" or form.svowel == "ie" or form.svowel == "iä" then
form.svowel = "ē"
elseif form.svowel == "ua" or form.svowel == "uö" then
form.svowel = "ue"
elseif form.svowel == "å̄" then
form.svowel = "ǖ"
end
elseif vowel_effect == "U" then
if form.svowel == "a" then
form.svowel = "å"
elseif form.svowel == "i" or form.svowel == "ï" then
form.svowel = "y"
elseif form.svowel == "ü" or form.svowel == "å" then
form.svowel = "u"
elseif form.svowel == "á" then
form.svowel = "å̄"
elseif form.svowel == "eä" or form.svowel == "ie" or form.svowel == "iä" then
form.svowel = "yö"
elseif form.svowel == "ua" or form.svowel == "uö" then
form.svowel = "ū"
end
end
end,
}
export.Stem = require("Module:smi-common").make_constructor(langdata)
return export