Semantic MediaWikiDit bericht verdwijnt nadat alle relevante taken zijn afgerond.

Er is één onvoltooide of openstaande taak, die nodig is om het bijwerken van Semantic MediaWiki te voltooien. Een beheerder of gebruiker met voldoende rechten kan deze uitvoeren. Dit moet worden gedaan voordat nieuwe gegevens worden toegevoegd om tegenstrijdigheden te voorkomen.

Module:Ordinals




{{#invoke:Ordinals|convertNumberToOrdinal |num=2 }}

Luafout op regel 14: attempt to call global 'ipair' (a nil value)

Luafout op regel 14: attempt to call global 'ipair' (a nil value)

8ste

Luafout op regel 14: attempt to call global 'ipair' (a nil value)

Luafout op regel 14: attempt to call global 'ipair' (a nil value)

Luafout op regel 14: attempt to call global 'ipair' (a nil value)


local p = {}

p.convertNumberToOrdinal = function( frame )
	local num = frame.args.num or nil
	if num == nil then return "" end

	local num = mw.text.trim( num )
	if num == "1" then return "1ste" end
	if num == "8" then return "8ste" end

	-- do 2-9 first
	local lastDigit = string.sub( num, -1)
	local numeralsWithDeSuffix1 = { "2", "3", "4", "5", "6", "7", "9" }
	for _,v in ipair( hasDeSuffix1 ) do
		if lastDigit == v then
			return num .. "de"
		end
	end

	local lastTwoDigits = string.sub( num, -2)
	local hasDeSuffix2 = { "10", "11", "12", "13", "14", "15", "16", "17", "18", "19" }
	
	for _,v in ipair( hasDeSuffix2 ) do
		if lastTwoDigits == v then
			return num .. "de"
		end
	end
	
	-- else
	return num .. "ste"

	-- 1ste, 11de, 21ste, 31ste, 101ste
	-- 8ste, 18de, 28ste

	-- similar 
	-- 2de, 12de, 22ste, 32ste, etc.
	-- 3rde, 13rde, 23ste, 33ste, ...
	-- 4de, 14de, 24ste, ...
	-- 5de, 15de, 25ste, ...
	-- 6de, 16de, 26ste, ...
	-- 7de, 17de, 27ste, ...
	-- 9de, 19de, 29ste
	-- 10de, 20ste, 21ste
end

return p