Modul:Genitiv: Forskjell mellom sideversjoner
Hopp til navigering
Hopp til søk
(nå dah...) |
(no globals) |
||
| Linje 4: | Linje 4: | ||
local pframe = frame:getParent() |
local pframe = frame:getParent() |
||
local args = pframe.args |
local args = pframe.args |
||
ord = args[1] |
local ord = args[1] |
||
if ord == nil then |
if ord == nil then |
||
return "<strong class='error'>Malen «genitiv» må ha ett argument</strong>" |
return "<strong class='error'>Malen «genitiv» må ha ett argument</strong>" |
||
| Linje 13: | Linje 13: | ||
end |
end |
||
function p._genitiv(ord) |
function p._genitiv(ord) |
||
sv = "sxzşŝșšśßžżź" |
local sv = "sxzşŝșšśßžżź" |
||
sb = mw.ustring.toNFC(mw.ustring.lower(mw.ustring.sub(ord, -1))) |
local sb = mw.ustring.toNFC(mw.ustring.lower(mw.ustring.sub(ord, -1))) |
||
if mw.ustring.find(sb, '%W') then |
if mw.ustring.find(sb, '%W') then |
||
return ord .. " sin" |
return ord .. " sin" |
||
Sideversjonen fra 29. mar. 2016 kl. 00:54
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