Module:Era
Þessi síða var afrituð frá ensku Wikiheimild. Reynt hefur verið að aðlaga hana að íslensku Wikiheimildum með sem fæstum mögulegum breytingum. Það er gert til að forðast fjölverknað og spara tíma en einnig svo hægt sé að taka við uppfærslum og nýjum eiginleikum með sem minnstri fyrirhöfn. Leiðbeiningar um notkun hennar má finna á enska verkefninu. Einungis það sem lesandinn sér skal íslenskað. Ef frekari breytingar eru nauðsynlegar til að aðlaga hana að íslenska verkefninu skulu þær útskýrðar hér fyrir neðan.
--[[
Get the name of an era, based on Wikisource's definition.
This implements the logic of Template:What era is
--]]
require('strict')
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.main(frame)
local args = getArgs(frame, {
wrappers = {
'Snið:What era is',
}
})
return p.era(args[1])
end
function p.era(year)
-- Nil years need to trigger bailout before we do anything else.
if year == nil then
return 'Óþekkt tímabil'
end
--[[
The template (What era is) treated every year that failed to parse as
"Ancient", and years given as "BCE" fell into this category. With the
module logic this no loonger works, so we need to treat BCE years as
negative instead, so the numeric logic can deal wiith them.
--]]
if mw.ustring.match(year, ' BCE$') ~= nil then
year = mw.ustring.gsub(year, ' BCE$', '') -- Strip the "BCE"
year = '-' .. year -- And prepend a minus (we tonumber() it later)
end
-- Unknown value.
if tonumber(year) == nil or mw.ustring.lower(year) == 'óþekkt' or year == '?' then
return 'Óþekkt tímabil'
end
-- Handle numeric years.
year = tonumber(year)
local today = tonumber(os.date('%Y'))
if year <= 600 then
return 'Fornaldar'
elseif year <= 1420 then
return 'Miðalda'
elseif year <= 1630 then
return 'Endurreisnar'
elseif year <= 1900 then
return 'Nýaldar'
elseif year <= today then
return 'Nútíma'
else
return 'Framtíðar'
end
end
return p