Module:Titulus/SaeculumQuaero
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