Module:Sandbox/Batternut/Ordinal

-- vim: set noexpandtab ft=lua ts=4 sw=4: require('strict')

local o = {} local debug = false

--[[ makeOrdinal

This function returns an ordinal string for the target number.

Usage:

Parameters 1: The string whose length to report 2: the language code

If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function o.makeOrdinal( target_num, langcode ) if langcode == 'fr' then if target_num == 1 then return target_num .. 'er' else return target_num .. 'e'		end elseif langcode == 'en' then if target_num == 11 or target_num == 12 or target_num == 13 then return target_num .. 'th' elseif target_num % 10 == 1 then return target_num .. 'st' elseif target_num % 10 == 2 then return target_num .. 'nd' elseif target_num % 10 == 3 then return target_num .. 'rd' else return target_num .. 'th' end else return target_num .. '.'	end end

return o