Modul:Genitiv

Fra Wikisida.no
Sideversjon per 29. mar. 2016 kl. 00:54 av nb>Stigmj (no globals)
Hopp til navigering Hopp til søk

Formål

Denne modulen returnerer et ord i riktig genitivsform, avhengig av hvilken bokstav ordet slutter på. Se Mal:Genitiv for nærmere dokumentasjon.

Funksjoner

  • genitiv : Brukes i {{genitiv}}
  • _genitiv : For bruk i andre moduler.

Brukes av


local p = {}

function p.genitiv(frame)
	local pframe = frame:getParent()
	local args = pframe.args
	local ord = args[1]
	if ord == nil then
		return "<strong class='error'>Malen «genitiv» må ha ett argument</strong>"
	else
		local str
		return pcall(function(ord) str = p._genetiv(ord) end) and str or ord
	end
end
function p._genitiv(ord)
	local sv = "sxzşŝșšśßžżź"
	local sb = mw.ustring.toNFC(mw.ustring.lower(mw.ustring.sub(ord, -1)))
	if mw.ustring.find(sb, '%W') then
		return ord .. " sin"
	end
	if mw.ustring.find(sv, sb, nil, true) then
		return ord .. "'"
	else
		return ord .. "s"
	end
end

return p