Modul:Genitiv: Forskjell mellom sideversjoner

Fra Wikisida.no
Hopp til navigering Hopp til søk
(no globals)
Ingen redigeringsforklaring
Linje 19: Linje 19:
end
end
if mw.ustring.find(sv, sb, nil, true) then
if mw.ustring.find(sv, sb, nil, true) then
return ord .. "'"
return ord .. "ʼ"
else
else
return ord .. "s"
return ord .. "s"

Sideversjonen fra 27. mai 2016 kl. 00:59

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