text:
Module:ms-derivations

local export = {} local gsub = mw.ustring.gsub

function export.affix_table(text) return { --noun-producing [11] = { "-el-", "-el-", "nonproductive", "agentive and instrumental / resultative" }, [12] = { "-er-", "-er-", "nonproductive", "resultative" }, [13] = { "-em-", "-em-", "nonproductive", "resultative / variety" }, [21] = { "peN-", "peng-", "productive", "agentive / qualitative / instrumental / abstract / measure" }, [22] = { "pe-", "pe-", "nonproductive", "passive / name of profession" }, [23] = { "ke-", "ke-", "nonproductive", "passive" }, [24] = { "pra-", "pra-", "nonproductive", "(from Sanskrit)" }, [31] = { "-an", "-an", "productive", "resultative / locative / collective / variety / verbal noun / fruit" }, [32] = { "-Man", "-man", "nonproductive", "agent" }, [33] = { "-is", "-is", "nonproductive", "agent" }, [34] = { "-isme", "-isme", "nonproductive", "ideology" }, [40] = { "ke-an", "ke- -an", "productive", "abstract / locative" }, --verb-producing [111] = { "-el-", "-el-", "nonproductive", "intensity" }, [112] = { "-em-", "-em-", "nonproductive", "intensity" }, [113] = { "-er-", "-er-", "nonproductive", "intensity" }, [121] = { "-", "-", "productive", "reduplication" }, [131] = { "se-", "se-", "productive", "comparability" }, [132] = { "ke-", "ke-", "nonproductive", "intensity" }, [140] = { "-an", "-an", "nonproductive", "repetition / reciprocity" }, [150] = { "ke-an", "ke- -an", "productive", "resemblance / passive" }, [210] = { "peR-", "per-", "productive", "causative passive" }, [221] = { "-kan", "-kan", "productive", "causative benefactive" }, [222] = { "-i", "-i", "productive", "causative (locative) benefactive" }, [310] = { "meN-", "meng-", "productive", "agent focus" }, [320] = { "di-", "di-", "productive", "patient focus" }, [330] = { "teR-", "ter-", "productive", "agentless action" }, [340] = { "beR-", "ber-", "productive", "stative / habitual" }, [350] = { "mempeR-", "memper-", "productive", "causative agent focus" }, [360] = { "dipeR-", "diper-", "productive", "causative passive focus" }, --adverb-producing [411] = { "-el-", "-el-", "nonproductive", "longer timespan" }, [412] = { "-em-", "-em-", "nonproductive", "longer timespan" }, [413] = { "-er-", "-er-", "nonproductive", "longer timespan" }, [420] = { "-", "-", "productive", "reduplication" }, [430] = { "se-", "se-", "nonproductive", "immediacy / habitual" }, [440] = { "-an", "-an", "nonproductive", "timespan / emotion" }, } end

local pattern_replacements = { ["N#([lmnrwy])"] = "%1", ["N#([bf])"] = "m%1", ["N#p"] = "m", ["N#t"] = "n", ["N#([cdjz])"] = "n%1", ["N#([gh])"] = "ng%1", ["N#kh?"] = "ng", ["N#s"] = "ny", ["R#r"] = "r", ["aM"] = "w", }

local letter_replacements = { ["M"] = "m", ["N#"] = "ng", ["R#"] = "r" }

function export.affixation(text, affix) if affix == "-" then text = text .. "-" .. text elseif mw.ustring.match(affix, "^%-.+%-$") then first_consonant = mw.ustring.match(text, "^[^aeiou]+") text = first_consonant .. mw.ustring.sub(affix, 2, -2) .. mw.ustring.sub(text, mw.ustring.len(first_consonant) + 1, -1) else text = gsub(affix, "%-", "#" .. text) text = gsub(text, "N([^aeiou]*)([aeiou])([^aeiou]*)$", "nge%1%2%3") text = gsub(text, "meN#p", "mem") for pattern, replacement in pairs(pattern_replacements) do			text = gsub(text, pattern, replacement) end text = gsub(text, "[MNR]#?", letter_replacements) text = gsub(text, "#", "") end return text end

function export.show(frame) local args = frame:getParent.args local p, derivations = {}, {} local title = args["word"] or mw.title.getCurrentTitle.text local lang = frame.args["lang"] args["word"] = nil if args[1] then for index, item in ipairs(args) do			table.insert(p, (item ~= "") and item or nil) end local language = args["lang"] or "ms" local m_links, lang = require("Module:links"), require("Module:languages").getByCode(language) local first_affix, first_others = true, true table.insert(derivations, 			' \n Affixed terms and other derivations' ..			' \n \n') for _, affix in ipairs(p) do			affix = mw.ustring.gsub(affix, "\n$", "") local word, meaning, final_form = title, nil, nil if mw.ustring.match(affix, ":") then local xplet = mw.text.split(affix, ":") if #xplet == 3 then affix, final_form, meaning = xplet[1], xplet[2], xplet[3] else affix, meaning = xplet[1], xplet[2] end end if mw.ustring.match(affix, "[0-9%+]") then if first_affix then table.insert(derivations, "Regular affixed derivations:") end local records, notes = {}, {} for number in mw.text.gsplit(affix, "+") do					local number = tonumber(number) or number local data = export.affix_table("")[number] or { number, nil, nil } word = export.affixation(word, data[1]) if args["lang"] == "id" then table.insert(records, data[2] ~= "-" and "" .. data[1] .. "" or "redup") else table.insert(records, data[2] ~= "-" and "" .. data[1] .. "" or "redup") end table.insert(notes, data[4]) end table.insert(derivations, "* " .. m_links.full_link({lang = lang, term = final_form or word, gloss = meaning or nil}) .. " [" .. table.concat(notes, " + ") .. "] (" .. table.concat(records, " + ") .. ") ")				first_affix = false else if first_others then table.insert(derivations, "Irregular affixed derivations, other derivations and compound words:") end word = affix first_others = false table.insert(derivations, "* " .. m_links.full_link({lang = lang, term = word, gloss = meaning or nil})) end end return table.concat(derivations, "\n") .. " "	end return "" end

return export

title: Module:ms-derivations


text:
Module:ms-derivations/documentation

Malay affix-derived forms module. See.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Module:ms-derivations/documentation


text:
apatyka

Etymology
Ultimately from. Cognates include 🇨🇬.

Noun

 * 1)  pharmacy, dispensary place where prescription drugs are dispensed

title: apatyka


text:
do a runner

Verb

 * 1)  to leave somewhere hurriedly.

title: do a runner


text:
bordelmamá

Etymology
From.

Noun

 * 1)  madam, whoremistress woman who runs a brothel, or hires out prostitutes

title: bordelmamá


text:
gólman

Noun

 * 1)  goaltender, goalkeeper

title: gólman


text: курьез

title: курьез


text:
llaminer

Etymology
From.

Adjective

 * 1) sweet-toothed
 * 2) tempting, appetising
 * 1) tempting, appetising

Noun

 * 1) person with a sweet tooth

title: llaminer


text:
курьёз

Etymology
, via or  in the 17th century.

Noun

 * 1) curio; funny or interesting thing or incident

title: курьёз


text:
эксцесс

Noun

 * 1) extreme manifestation of something, incident or abnormality
 * 2) excess

title: эксцесс


text:
пиршество

Noun

 * 1) revelry, feast

title: пиршество


text:
подачка

Noun

 * 1) pittance, dole, charity, sop, tip (also figuratively)

title: подачка


text:
выучка

Noun

 * 1) skill
 * 2) (level of) training, teaching

title: выучка


text: AWS

title: AWS


text:
afkanselen

Etymology
Compound of.

Verb

 * 1)  to lecture, to berate, to sermonise
 * 2) * 1921 January 30, W. van der Vlugt, "Antwoord op de „kantteekeningen” van ds. F. C. Fleischer. III (slot)", De Zondagsbode, vol. 34, no. 13, page 99.
 * "nl"

- En mag ik tevens den geduldigen lezer de vraag stellen, of iemand, die mij afkanselt, gelijk die broeder in de tweede kolom van bladzijde 58 het heeft gedaan, daarmeê niet eigen onkunde en onbedachtzaamheid veel zichtbaarder aan de kaak stelt dan mijn „gemis aan liefde” jegens mijne „moeder” de gemeente?

title: afkanselen


text:
лоббирование

Noun

 * 1) lobbying

title: лоббирование


text: Category:Tai Xuan Jing Symbols block

title: Category:Tai Xuan Jing Symbols block


text:
omhooggevallen

Adjective

 * 1) having attained a high position without the necessary skills, capacities or knowledge; jumped-up, upstart, arriviste

title: omhooggevallen


text: does a runner

title: does a runner


text: Category:Kaithi block

title: Category:Kaithi block


text: doing a runner

title: doing a runner


text: Citations:svengali

title: Citations:svengali


text: did a runner

title: did a runner


text: done a runner

title: done a runner