Module:La-utilities

local m_links = require('Module:links')

local export = {}

local lang = require("Module:languages").getByCode("la")

-- A wrapper function allowing the contents of this module to be called from -- templates. For example, '' -- produces 'mythos'. function export.main(frame) if(frame.args[1] == 'strip_macrons') then return lang:makeEntryName(frame.args[2]) end if type(p[frame.args[1]]) == 'function' then return p[frame.args[1]](frame.args[2], frame.args[3]) else return p[frame.args[1]][frame.args[2]] end end

function export.strip_macrons(frame_or_text) if type(frame_or_text) == "table" then frame_or_text = frame_or_text.args[1] end return lang:makeEntryName(frame_or_text) end

local patterns = { {"tūdō", "tūdin"}, {"is", ""}, {"ēs", ""}, {"āns", "ant"}, {"ēns", "ent"}, {"ōns", "ont"}, {"ceps", "cipit"}, {"us", "or"}, {"ex", "ic"}, {"ma", "mat"}, {"e", ""}, {"al", "āl"}, {"ar", "ār"}, {"men", "min"}, {"er", "r"}, {"or", "ōr"}, {"gō", "gin"}, {"ō", "ōn"}, {"ps", "p"}, {"bs", "b"}, {"s", "t"}, {"x", "c"}, }

function export.make_stem2(stem) for _, pattern in ipairs(patterns) do		local key = pattern[1] local val = pattern[2] if mw.ustring.match(stem, key .. "$") then stem = mw.ustring.gsub(stem, key .. "$", val) require("Module:debug").track("la-utilities/" .. key) return stem end end require("Module:debug").track("la-utilities") return stem end

return export