Module:pollasena-roots/templates: Difference between revisions

No edit summary
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
local m_pr = require("Module:pollasena-roots")
local m_pr = require("Module:pollasena-roots")
local gsub = mw.ustring.gsub


local export = {}
local export = {}


local function concat_etymologies(args, etymologies)
local function concat_etymologies(args, etymologies)
local capital = args.nocap and "f" or "F"
local str = table.concat(etymologies, ", ") .. "."
return capital .. "rom " .. table.concat(etymologies, ", from ") .. "."
if not args.nocap then
str = str:gsub("^.", mw.ustring.upper)
end
return str
end
end


Line 38: Line 45:
function export.lyti_loan(frame)
function export.lyti_loan(frame)
local parent_args = frame:getParent().args
local parent_args = frame:getParent().args
local source_code = parent_args.source or "und"
parent_args.borrowing = true
local source_code = parent_args[1] or "und"
local ancestor_codes = {
{code = "lyti-mid", options = {optional = not parent_args.mid}},
{code = "lyti-old", options = {optional = not parent_args.old}},
{code = source_code, options = {}},
}
local extra_params = {
local extra_params = {
mid = {type = "boolean"},
mid = {type = "boolean"},
old = {type = "boolean"},
old = {type = "boolean"},
source = {},
}
}
local evolution, args, categories = m_pr.parse_args(parent_args, "lyti", ancestor_codes)
local ancestor_codes = {
{code = source_code, options = {borrowed = true}},
}
if parent_args.mid or parent_args.old then
table.insert(ancestor_codes, 1, {code = "lyti-mid", options = {optional = not parent_args.mid}})
if parent_args.old then
table.insert(ancestor_codes, parent_args.mid and 2 or 1, {code = "lyti-old", options = {optional = not parent_args.old}})
end
end
local evolution, args, categories = m_pr.parse_args(parent_args, "lyti", ancestor_codes, extra_params)
return concat_etymologies(args, evolution) .. categories
return concat_etymologies(args, evolution) .. categories
Line 71: Line 83:
function export.gwax_nen(frame)
function export.gwax_nen(frame)
local parent_args = frame:getParent().args
local parent_args = frame:getParent().args
parent_args.nocat = true -- no custom categories for Nentammmi
local ancestor_codes = {
local ancestor_codes = {
Line 77: Line 90:
local evolution, args, categories = m_pr.parse_args(parent_args, "gwax", ancestor_codes)
local evolution, args, categories = m_pr.parse_args(parent_args, "gwax", ancestor_codes)
 
return concat_etymologies(args, evolution) -- no custom categories for Nentammmi
return concat_etymologies(args, evolution) .. categories
end
end