Module:Scriptor/SaeculumQuaero

E Wikisource

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

p = {}

function p.scriptor(x, y)
	if string.find(x, "BCE")  or string.find(x, "a.C.n.") or string.find(x, "a.Ch.n.") then acn = " ante Christum" else acn = "" end
		
	if  string.find(x, "century") or string.find(x, "saeculum") then
		annus = x
	elseif  string.find(x, "BCE") or string.find(x, "a.C.n.") or string.find(x, "a.Ch.n.") then
		annus = mw.text.truncate(x, -8)
	else 
		annus = mw.text.truncate(x, -4)
	end
	
	if string.find(annus, "century") or string.find(x, "saeculum") then
		if string.find(annus, "21.") then
			saeculum = "primi vicesimi"
		elseif string.find(annus, "20.") then
			saeculum = "vicesimi"
		elseif string.find(annus, "19.") then
			saeculum = "undevicesimi"
		elseif string.find(annus, "18.") then
			saeculum = "duodevicesimi"
		elseif string.find(annus, "17.") then
			saeculum = "septimi decimi "
		elseif string.find(annus, "16.") then
			saeculum = "sexti decimi"
		elseif string.find(annus, "15.") then
			saeculum = "quinti decimi"
		elseif string.find(annus, "14.") then
			saeculum = "quarti decimi" 
		elseif string.find(annus, "13.") then
			saeculum = "tertii decimi"
		elseif string.find(annus, "12.") then
			saeculum = "duodecimi"
		elseif string.find(annus, "11.") then
			saeculum = "undecimi"
		elseif string.find(annus, "10.") then
			saeculum = "decimi"
		elseif string.find(annus, "9.") then
			saeculum = "noni"
		elseif string.find(annus, "8.") then
			saeculum = "octavi"
		elseif string.find(annus, "7.") then
			saeculum = "septimi"
		elseif string.find(annus, "6.") then
			saeculum = "sexti"
		elseif string.find(annus, "5.") then
			saeculum = "quinti"
		elseif string.find(annus, "4.") then
			saeculum = "quarti"
		elseif string.find(annus, "3.") then
			saeculum = "tertii"
		elseif string.find(annus, "2.") then
			saeculum = "secundi"
		elseif string.find(annus, "1.") then
			saeculum = "primi"
		end
	else
		annus = tonumber(string.gsub(annus, "%D", ""), 10) --removes from "annus" anything that is not a digit; than translates the year into the corresponding century
		if annus == nil then annus = 0 end --avoids script error if the year is nonstandard (the page will go in Categoria:Saeculi incogniti opera)
		if annus <= 0 then 
			saeculum = "incogniti"
		elseif annus <= 100 then 
			saeculum = "primi"
		elseif annus <= 200 then 
			saeculum = "secundi"	
		elseif annus <= 300 then
			saeculum = "tertii"
		elseif annus <= 400 then
			saeculum = "quarti"
		elseif annus <= 500 then
			saeculum = "quinti"
		elseif annus <= 600 then
			saeculum = "sexti"
		elseif annus <= 700 then
			saeculum = "septimi"
		elseif annus <= 800 then
			saeculum = "octavi"
		elseif annus <= 900 then
			saeculum = "noni"
		elseif annus <= 1000 then
			saeculum = "decimi"
		elseif annus <= 1100 then
			saeculum = "undecimi"
		elseif annus <= 1200 then
			saeculum = "duodecimi"
		elseif annus <= 1300 then
			saeculum = "tertii decimi"
		elseif annus <= 1400 then
			saeculum = "quarti decimi"
		elseif annus <= 1500 then
			saeculum = "quinti decimi"
		elseif annus <= 1600 then
			saeculum = "sexti decimi"
		elseif annus <= 1700 then
			saeculum = "septimi decimi"
		elseif annus <= 1800 then
			saeculum = "duodevicesimi"
		elseif annus <= 1900 then
			saeculum = "undevicesimi"
		elseif annus <= 2000 then
			saeculum = "vicesimi"
		elseif annus <= 2100 then
			saeculum = "primi vicesimi"
		elseif annus <= 2200 then
			saeculum = "secundi vicesimi" --well, who knows...
		else --if cant' find the year, inserts the century as "incognitus"
			saeculum = "incogniti"
		end
	end

	return "[[Categoria:Saeculi ".. saeculum.. acn.. " scriptores|".. y.. "]]"
end

	function p.saeculum(saeculum)
		saeculum = string.gsub(saeculum, "21. saeculum", "XXI. Saeculum")
		saeculum = string.gsub(saeculum, "20. saeculum", "XX. Saeculum")
		saeculum = string.gsub(saeculum, "19. saeculum", "XIX. Saeculum")
		saeculum = string.gsub(saeculum, "18. saeculum", "XVIII. Saeculum")
		saeculum = string.gsub(saeculum, "17. saeculum", "XVII. Saeculum")
		saeculum = string.gsub(saeculum, "16. saeculum", "XVI. Saeculum")
		saeculum = string.gsub(saeculum, "15. saeculum", "XV. Saeculum")
		saeculum = string.gsub(saeculum, "14. saeculum", "XIV. Saeculum")
		saeculum = string.gsub(saeculum, "13. saeculum", "XIII. Saeculum")
		saeculum = string.gsub(saeculum, "12. saeculum", "XII. Saeculum")
		saeculum = string.gsub(saeculum, "11. saeculum", "XI. Saeculum")
		saeculum = string.gsub(saeculum, "10. saeculum", "X. Saeculum")
		saeculum = string.gsub(saeculum, "9. saeculum", "IX. Saeculum")
		saeculum = string.gsub(saeculum, "8. saeculum", "VIII. Saeculum")
		saeculum = string.gsub(saeculum, "7. saeculum", "VII. Saeculum")
		saeculum = string.gsub(saeculum, "6. saeculum", "VI. Saeculum")
		saeculum = string.gsub(saeculum, "5. saeculum", "V. Saeculum")
		saeculum = string.gsub(saeculum, "4. saeculum", "IV. Saeculum")
		saeculum = string.gsub(saeculum, "3. saeculum", "III. Saeculum")
		saeculum = string.gsub(saeculum, "2. saeculum", "II. Saeculum")
		saeculum = string.gsub(saeculum, "1. saeculum", "I. Saeculum")
		
	return saeculum
		
	end
	
return p