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.

Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
Regel 12: Regel 12:
local lastDigit = string.sub( num, -1)
local lastDigit = string.sub( num, -1)
local numeralsWithDeSuffix1 = { "2", "3", "4", "5", "6", "7", "9" }
local numeralsWithDeSuffix1 = { "2", "3", "4", "5", "6", "7", "9" }
for _,v in ipair( hasDeSuffix1 ) do
for _,v in ipairs( hasDeSuffix1 ) do
if lastDigit == v then
if lastDigit == v then
return num .. "de"
return num .. "de"
Regel 21: Regel 21:
local hasDeSuffix2 = { "10", "11", "12", "13", "14", "15", "16", "17", "18", "19" }
local hasDeSuffix2 = { "10", "11", "12", "13", "14", "15", "16", "17", "18", "19" }
for _,v in ipair( hasDeSuffix2 ) do
for _,v in ipairs( hasDeSuffix2 ) do
if lastTwoDigits == v then
if lastTwoDigits == v then
return num .. "de"
return num .. "de"

Versie van 19 sep 2025 10:02

Module:Ordinals




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

Luafout op regel 14: bad argument #1 to 'ipairs' (table expected, got nil)

Luafout op regel 14: bad argument #1 to 'ipairs' (table expected, got nil)

8ste

Luafout op regel 14: bad argument #1 to 'ipairs' (table expected, got nil)

Luafout op regel 14: bad argument #1 to 'ipairs' (table expected, got nil)

Luafout op regel 14: bad argument #1 to 'ipairs' (table expected, got nil)


local p = {}

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

	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 ipairs( 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 ipairs( 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