This module deploys the Indonesian headword templates and all associated templates.
local export = {}
local pos_functions = {}
local lang = require("Module:languages").getByCode("id")
local script = require('Module:scripts').getByCode("Latn")
local PAGENAME = mw.title.getCurrentTitle().text
function export.show(frame)
-- FIXME: Use ].
local args = frame:getParent().args
local poscat = frame.args or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.")
local head = args; if head == "" then head = nil end
local data = {lang = lang, sc = script, pos_category = poscat, categories = {}, heads = {head}, translits = {"-"}, inflections = {}}
if pos_functions then
pos_functions(args, data)
end
return require("Module:headword").full_headword(data)
end
pos_functions = function(args, data)
local pl = {label = "plural"}
if args == nil then
table.insert(data.categories, "Requests for plural forms in Indonesian entries")
else
if args == "-" then
table.insert(data.categories, "Indonesian uncountable nouns")
else
if args == "duplication" then
-- common plural
local subwords = mw.text.split(PAGENAME, "%s")
local firstword = subwords
subwords = mw.ustring.gsub("]-]", "(+%-)%1%1", "banyak %1") -- reduplicate only first word
table.insert(pl, table.concat(subwords, " "))
else
table.insert(pl, args) -- this is also used for 'para' type
if args then table.insert(pl, args) end
if args then table.insert(pl, args) end
end
table.insert(data.inflections, pl)
end
end
local ku = {label = "first-person possessive"}
if args ~= "-" or args == nil then
table.insert(data.inflections, ku)
table.insert(ku, mw.ustring.format("%s]", PAGENAME))
end
local mu = {label = "second-person possessive"}
if args ~= "-" or args == nil then
table.insert(data.inflections, mu)
table.insert(mu, mw.ustring.format("%s]", PAGENAME))
end
local nya = {label = "third-person possessive"}
if args ~= "-" or args == nil then
table.insert(data.inflections, nya)
table.insert(nya, mw.ustring.format("%s]", PAGENAME))
end
end
pos_functions = function(args, data)
local pl = {label = "plural"}
-- not necessary to have plural(s)
if args then table.insert(pl, args) end
if args then table.insert(pl, args) end
if args then table.insert(pl, args) end
if #pl > 0 then table.insert(data.inflections, pl) end
end
pos_functions = function(args, data)
end
return export