Module:snon-common: Difference between revisions
Jump to navigation
Jump to search
Created page with "local export = {} local eclipsis_prefixes = { ["b"] = "m", ["c"] = "g", ["d"] = "n", ["f"] = "v", ["g"] = "n", ["p"] = "b", ["t"] = "d", ["ph"] = "bh", } function export.mutations(word, tag) local ret = {normal = word, len = word, ecl = word, an = 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..." |
No edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 9: | Line 9: | ||
["p"] = "b", | ["p"] = "b", | ||
["t"] = "d", | ["t"] = "d", | ||
[" | ["h"] = "n", | ||
["s"] = "z", | |||
["v"] = "b", | |||
} | } | ||
function export.mutations(word, tag) | function export.mutations(word, tag) | ||
local ret = {normal = word, len = word, ecl | local ret = {normal = word, len = word, ecl = word, hpro = word} | ||
local word_l = mw.ustring.lower(word) | local word_l = mw.ustring.lower(word) | ||
if tag ~= "nolen" then | if tag ~= "nolen" then | ||
if mw.ustring.find(word_l, "^[ | if mw.ustring.find(word_l, "^[bcdfgmptsnlrv]") then | ||
ret.len = mw.ustring.gsub(word, "^(.)", "%1h") | ret.len = mw.ustring.gsub(word, "^(.)", "%1h") | ||
elseif mw.ustring.find(word_l, "^ | elseif mw.ustring.find(word_l, "^i[aeouàèòù]") then | ||
ret.len = mw.ustring.gsub(word, "^(.)", "% | ret.len = mw.ustring.gsub(word, "^(.)", "h%1") | ||
elseif mw.ustring.find(word_l, "^[h]") then | elseif mw.ustring.find(word_l, "^[h]") then | ||
ret.len = mw.ustring.gsub(word, "^(.)", "g%1") | ret.len = mw.ustring.gsub(word, "^(.)", "g%1") | ||
Latest revision as of 02:52, 23 April 2026
Documentation for this module may be created at Module:snon-common/doc
local export = {}
local eclipsis_prefixes = {
["b"] = "m",
["c"] = "g",
["d"] = "n",
["f"] = "v",
["g"] = "n",
["p"] = "b",
["t"] = "d",
["h"] = "n",
["s"] = "z",
["v"] = "b",
}
function export.mutations(word, tag)
local ret = {normal = word, len = word, ecl = word, hpro = word}
local word_l = mw.ustring.lower(word)
if tag ~= "nolen" then
if mw.ustring.find(word_l, "^[bcdfgmptsnlrv]") then
ret.len = mw.ustring.gsub(word, "^(.)", "%1h")
elseif mw.ustring.find(word_l, "^i[aeouàèòù]") then
ret.len = mw.ustring.gsub(word, "^(.)", "h%1")
elseif mw.ustring.find(word_l, "^[h]") then
ret.len = mw.ustring.gsub(word, "^(.)", "g%1")
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
elseif mw.ustring.find(word, "^[AEIOUÀÈÌÒÙ]") then
ret.ecl = "n" .. word
ret.hpro = "h" .. word
end
return ret
end
return export