Modul:DateLb
Ausgesinn
| Dokumentatioun vum Modul:DateLb | [liesen] [änneren] [Versioune weisen] |
D'Dokumentatioun fir dëst Modul steet hei ënnendrënner an ass vun der Säit Modul:DateLb/doc hei agebonne ginn. Kuckt och: Hëllef:Moduler.
local p = {}
function p.formatDate(frame)
local num = 0
local dateToFormat = frame.args[1]
local result = ""
local a = {}
for i in string.gmatch(dateToFormat, "%S+") do
a[num] = i
num = num + 1
end
---- num == 5 ----
-- Dag Mount Joer v. Chr. (julianesch)
if num == 5 and
string.match(dateToFormat, "^[%d]+%. [%D]+ [%d]+ v%. Chr%. %(julianesch%)$") ~= nil then
result = "[["..a[0].." "..a[1].."]] [["..a[2].." "..a[3].."]] <sup>[[Julianesche Kalenner|jul.]]</sup>"
---- num == 4 ----
elseif num == 4 then
if -- Dag Mount Joer v. Chr.
string.match(dateToFormat, "^[%d]+%. [%D]+ [%d]+ v%. Chr%.$") ~= nil then
result = "[["..a[0].." "..a[1].."]] [["..a[2].." "..a[3].."]]"
elseif -- Dag Mount Joer (julianesch)
string.match(dateToFormat, "^[%d]+%. [%D]+ [%d]+ %(julianesch%)$") ~= nil then
result = "[["..a[0].." "..a[1].."]] [["..a[2].."]] <sup>[[Julianesche Kalenner|jul.]]</sup>"
elseif -- Mount Joer v. Chr. (julianesch)
string.match(dateToFormat, "^[%D]+ [%d]+ v%. Chr%. %(julianesch%)$") ~= nil then
result = "[["..a[0].."]] [["..a[1].." "..a[2].."]] <sup>[[Julianesche Kalenner|jul.]]</sup>"
elseif -- n. Joerdausend/Joerhonnert v. Chr. (julianesch)
string.match(dateToFormat, "^[%d]+%. Joer[dh][ao][un][sn]e[nr][dt] v%. Chr%. %(julianesch%)$") ~= nil then
result = "[["..a[0].." "..a[1].." "..a[2].."]] <sup>[[Julianesche Kalenner|jul.]]</sup>"
else
result = dateToFormat.."[[Kategorie:Modul:DateLb-Trackingkategorie]]"
end
---- num == 3 ----
elseif num == 3 then
if -- Dag Mount Joer
string.match(dateToFormat, "^[%d]+%. [%D]+ [%d]+$") ~= nil then
result = "[["..a[0].." "..a[1].."]] [["..a[2].."]]"
elseif -- Mount Joer v. Chr.
string.match(dateToFormat, "^[%D]+ [%d]+ v%. Chr%.$") ~= nil then
result = "[["..a[0].."]] [["..a[1].." "..a[2].."]]"
elseif -- Mount Joer (Julianesch)
string.match(dateToFormat, "^[%D]+ [%d]+ %(julianesch%)$") ~= nil then
result = "[["..a[0].."]] [["..a[1].."]] <sup>[[Julianesche Kalenner|jul.]]</sup>"
elseif --Joer v. Chr. (Julianesch)
string.match(dateToFormat, "^[%d]+ v%. Chr%. %(julianesch%)$") ~= nil then
result = "[["..a[0].." "..a[1].."]] <sup>[[Julianesche Kalenner|jul.]]</sup>"
elseif -- Joerzéngt v. Chr. (Julianesch)
string.match(dateToFormat, "^[%d]+er v%. Chr%. %(julianesch%)$") ~= nil then
result = a[0].." "..a[1].." <sup>[[Julianesche Kalenner|jul.]]</sup>"
elseif -- n. Joerdausend/Joerhonnert v. Chr.
string.match(dateToFormat, "^[%d]+%. Joer[dh][ao][un][sn]e[nr][dt] v%. Chr%.$") ~= nil then
result = "[["..a[0].." "..a[1].." "..a[2].."]]"
elseif -- n. Joerdausend/Joerhonnert (Julianesch)
string.match(dateToFormat, "^[%d]+%. Joer[dh][ao][un][sn]e[nr][dt] %(julianesch%)$") ~= nil then
result = "[["..a[0].." "..a[1].."]] <sup>[[Julianesche Kalenner|jul.]]</sup>"
else
result = dateToFormat.."[[Kategorie:Modul:DateLb-Trackingkategorie]]"
end
---- num == 2 ----
elseif num == 2 then
if -- Mount Joer
string.match(dateToFormat, "^[%D]+ [%d]+$") ~= nil then
result = "[["..a[0].."]] [["..a[1].."]]"
elseif -- Joer v. Chr.
string.match(dateToFormat, "^[%d]+ v%. Chr%.$") ~= nil then
result = "[["..a[0].." "..a[1].."]]"
elseif -- Joer (Julianesch)
string.match(dateToFormat, "^[%d]+ %(julianesch%)$") ~= nil then
result = "[["..a[0].."]] <sup>[[Julianesche Kalenner|jul.]]</sup>"
elseif -- Joerzéngt v. Chr.
string.match(dateToFormat, "^[%d]+er v%. Chr%.$") ~= nil then
result = dateToFormat
elseif -- Joerzéngt (Julianesch)
string.match(dateToFormat, "^[%d]+er %(julianesch%)$") ~= nil then
result = a[0].." <sup>[[Julianesche Kalenner|jul.]]</sup>"
elseif -- n. Joerdausend/Joerhonnert
string.match(dateToFormat, "^[%d]+%. Joer[dh][ao][un][sn]e[nr][dt]$") ~= nil then
result = "[["..a[0].." "..a[1].."]]"
else
result = dateToFormat.."[[Kategorie:Modul:DateLb-Trackingkategorie]]"
end
---- num == 1 -----
elseif num == 1 then
if -- Joer
string.match(dateToFormat, "^[%d]+$") ~= nil then
result = "[["..dateToFormat.."]]"
elseif -- Joerzéngt
string.match(dateToFormat, "^[%d]+er$") ~= nil then
result = dateToFormat
elseif -- onbekannt
string.match(dateToFormat, "^onbekannt$") ~= nil then
result = dateToFormat
else
result = dateToFormat.."[[Kategorie:Modul:DateLb-Trackingkategorie]]"
end
---- every other case ----
else
result = dateToFormat
end
return result
end
function p.formatDateNotLinked(dateToFormat)
local num = 0
local result = ""
local a = {}
for i in string.gmatch(dateToFormat.args[1], "%S+") do
a[num] = i
num = num + 1
end
if num == 3 then
result = a[2]
end
return result
end
function p.formatDates(dateToFormat)
local result = ""
for k, v in pairs(dateToFormat) do
if type(k) == "string" then
result = result .. "," .. fun.formatDateNotLinked(v)
end
end
return result
end
return p
