Moduuli:pilkkoja

Wikisanakirjasta

Tämän moduulin ohjeistuksen voi tehdä sivulle Moduuli:pilkkoja/ohje

-- case #1: {{en-monikko|w|heel}} (sivulla wheels)
-- case #2: {{en-monikko|b|rush|es}} (sivulla brushes)
-- case #3: {{en-monikko|c|it|ies}} (sivulla cities)
-- case #4: {{en-monikko|w|omen|woman}} (sivulla women)

local p = {}
 
function p.pilko( frame )
    local a = frame.args[1] -- wheel
    local b = frame.args[2] -- wheels
    if a .. 's' == b then
    	-- case #1: wheel|wheels => {{en-monikko|w|heel}} (sivulla wheels)
    	local first_letter = mw.ustring.sub(a, 1, 1)
    	local rest = mw.ustring.sub(a, 2, j)
    	return first_letter .. '|' .. rest
    else
    	-- case #2: brush|brushes => {{en-monikko|b|rush|es}} (sivulla brushes)
    	-- case #3: city|cities => {{en-monikko|c|it|ies}} (sivulla cities)
    	-- case #4: woman|women => {{en-monikko|w|omen|woman}} (sivulla women)
    	local first_letter = mw.ustring.sub(b, 1, 1)
    	local body = mw.ustring.sub(b, 2, j)
    	local plural = mw.ustring.sub(b, -3)
    	if plural == 'ies' then
    		-- case #3: city|cities => {{en-monikko|c|it|ies}} (sivulla cities)
    		return first_letter .. '|' .. mw.ustring.sub(b, 2, -4) .. '|' .. plural
    	end
    	local plural2 = mw.ustring.sub(b, -2)
    	if plural2 == 'es' then
    		-- case #2: brush|brushes => {{en-monikko|b|rush|es}} (sivulla brushes)
    		return first_letter .. '|' .. mw.ustring.sub(b, 2, -3) .. '|' .. plural2
    	end
    	-- case #4: woman|women => {{en-monikko|w|omen|woman}} (sivulla women)
    	local singular = a
    	return first_letter .. '|' .. body .. '|' .. singular
    end
end
 
return p