Module:ga-common

local export = {}

local eclipsis_prefixes = { ["b"] = "m", ["c"] = "g", ["d"] = "n", ["f"] = "bh", ["g"] = "n", ["p"] = "b", ["t"] = "d", }

function export.mutations(word, tag) local ret = {normal = word, len = word, ecl = word, an = word, tpro = word, hpro = word} local word_l = mw.ustring.lower(word) if tag ~= "nolen" then if mw.ustring.find(word_l, "^[bcdfgmpt]") then ret.len = mw.ustring.gsub(word, "^(.)", "%1h") elseif mw.ustring.find(word_l, "^s[aeiouáéíóúlnr]") then ret.len = mw.ustring.gsub(word, "^(.)", "%1h") ret.an = "t" .. word end end if eclipsis_prefixes[mw.ustring.sub(word_l, 1, 1)] then ret.ecl = eclipsis_prefixes[mw.ustring.sub(word_l, 1, 1)] .. word end if mw.ustring.find(word, "^[aeiouáéíóú]") then ret.ecl = "n-" .. word ret.hpro = "h" .. word -- Masculine singular nouns have different lenition after the article "an" if tag == "msn" then ret.tpro = "t-" .. word end elseif mw.ustring.find(word, "^[AEIOUÁÉÍÓÚ]") then ret.ecl = "n" .. word ret.hpro = "h" .. word -- Masculine singular nouns have different lenition after the article "an" if tag == "msn" then ret.tpro = "t" .. word end end return ret end

return export