Module:Titulus/SaeculumQuaero

E Wikisource

Documentation for this module may be created at Module:Titulus/SaeculumQuaero/doc

p = {}

function p.annus(x)
		if mw.ustring.find(x, "aCn") or mw.ustring.find(x, "a.C.n.") or mw.ustring.find(x, "a C n") or mw.ustring.find(x, "a. C. n.") or mw.ustring.find(x, "a. Ch. n.") or mw.ustring.find(x, "a.Ch.n.") or mw.ustring.find(x, "a.Ch") or mw.ustring.find(x, "aCh") then --looks for posssible permutations of "a.C.n."
			acn = " ante Christum"
		else 
			acn = ""
		end
		--looks for the century (which should be written in Roman numerals), and translates it into category description
		if mw.ustring.find(x, "XXI") then
			saeculum = "primi vicesimi"
		elseif mw.ustring.find(x, "XX") then
			saeculum = "vicesimi"
		elseif mw.ustring.find(x, "XIX") then
			saeculum = "undevicesimi"
		elseif mw.ustring.find(x, "XVIII") then
			saeculum = "duodevicesimi"
		elseif mw.ustring.find(x, "XVII") then
			saeculum = "septimi decimi"
		elseif mw.ustring.find(x, "XVI") then
			saeculum = "sexti decimi"
		elseif mw.ustring.find(x, "XIV") then
			saeculum = "quarti decimi"
		elseif mw.ustring.find(x, "XV") then
			saeculum = "quinti decimi"
		elseif mw.ustring.find(x, "XIII") then
			saeculum = "tertii decimi"
		elseif mw.ustring.find(x, "XII") then
			saeculum = "duodecimi"
		elseif mw.ustring.find(x, "XI") then
			saeculum = "undecimi"
		elseif mw.ustring.find(x, "IX") then
			saeculum = "noni"
		elseif mw.ustring.find(x, "X") then
			saeculum = "decimi"
		elseif mw.ustring.find(x, "VIII") then
			saeculum = "octavi"
		elseif mw.ustring.find(x, "VII") then
			saeculum = "septimi"
		elseif mw.ustring.find(x, "VI") then
			saeculum = "sexti"
		elseif mw.ustring.find(x, "IV") then
			saeculum = "quarti"
		elseif mw.ustring.find(x, "V") then
			saeculum = "quinti"
		elseif mw.ustring.find(x, "III") then
			saeculum = "tertii"
		elseif mw.ustring.find(x, "II") then
			saeculum = "secundi"
		elseif mw.ustring.find(x, "II") then
			saeculum = "primi"
			
		else --if there is not a roman numeral, will look for year number
			anninumerus = tonumber(string.gsub(x, "%D", ""), 10) --removes from "annus" anything that is not a digit; than translates the year into the corresponding century
			if anninumerus == nil then anninumerus = 0 end --avoids script error if the year is nonstandard (the page will go in Categoria:Saeculi incogniti opera)
			if anninumerus <= 99 then
				saeculum = "primi"
			elseif anninumerus <= 199 then
				saeculum = "secundi"	
			elseif anninumerus <= 299 then
				saeculum = "tertii"
			elseif anninumerus <= 399 then
				saeculum = "quarti"
			elseif anninumerus <= 499 then
				saeculum = "quinti"
			elseif anninumerus <= 599 then
				saeculum = "sexti"
			elseif anninumerus <= 699 then
				saeculum = "septimi"
			elseif anninumerus <= 799 then
				saeculum = "octavi"
			elseif anninumerus <= 899 then
				saeculum = "noni"
			elseif anninumerus <= 999 then
				saeculum = "decimi"
			elseif anninumerus <= 1099 then
				saeculum = "undecimi"
			elseif anninumerus <= 1199 then
				saeculum = "duodecimi"
			elseif anninumerus <= 1299 then
				saeculum = "tertii decimi"
			elseif anninumerus <= 1399 then
				saeculum = "quarti decimi"
			elseif anninumerus <= 1499 then
				saeculum = "quinti decimi"
			elseif anninumerus <= 1599 then
				saeculum = "sexti decimi"
			elseif anninumerus <= 1699 then
				saeculum = "septimi decimi"
			elseif anninumerus <= 1799 then
				saeculum = "duodevicesimi"
			elseif anninumerus <= 1899 then
				saeculum = "undevicesimi"
			elseif anninumerus <= 1999 then
				saeculum = "vicesimi"
			elseif anninumerus <= 2099 then
				saeculum = "primi vicesimi"
			elseif anninumerus <= 2199 then
				saeculum = "secundi vicesimi" --well, who knows...
			else --if cant' find the year, inserts the century as "incognitus"
				saeculum = "incogniti"
			end
		end
		
	return saeculum.. acn
		
	end
	
return p