Module:la-utilities

Hello, you have come here looking for the meaning of the word Module:la-utilities. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:la-utilities, but we will also tell you about its etymology, its characteristics and you will know how to say Module:la-utilities in singular and plural. Everything you need to know about the word Module:la-utilities you have here. The definition of the word Module:la-utilities will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:la-utilities, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

Module for working with Latin text.

Functions:

  • strip_macrons(text): Return text minus macrons, breves, etc.
  • make_stem2(stem): Return third-declension stem based on nominative singular.

See also:


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, '{{#invoke:la-utilities|main|strip_macrons|mȳthos}}'
-- produces 'mythos'.
function export.main(frame)
	if(frame.args == 'strip_macrons') then
		return (lang:makeEntryName(frame.args))
	end
	if type(p]) == 'function' then
		return p](frame.args, frame.args)
	else
		return p]]
	end
end

function export.strip_macrons(frame_or_text)
	if type(frame_or_text) == "table" then
		frame_or_text = frame_or_text.args
	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
		local val = pattern
		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