Dokumentation [visa] [redigera] [historik] [rensa sidcachen]
Den här modulen används på över 1 000 000 sidor. För att undvika stor förstörelse och onödig belastning på servern, bör ändringar av den här mallen först göras i testmallen. |
p = {}
local lokalstatus = { ['se'] = 'Ej hotad',
['secure'] = 'Ej hotad',
['ej hotad'] = 'Ej hotad',
['dom'] = 'Husdjur',
['domesticated'] = 'Husdjur',
['dd'] = '[[Kunskapsbrist]]',
['data'] = '[[Kunskapsbrist]]',
['lc'] = '[[Livskraftig]]',
['nt'] = '[[Nära hotad]]',
['vu'] = '[[Sårbar]]',
['en'] = '[[Starkt hotad]]',
['cr'] = '[[Akut hotad]]',
['re'] = '[[Nationellt utdöd]]',
['fossil'] = '[[Fossil]]',
['pre'] = '[[Förhistorisk]]',
['text'] = 'Se text'
}
local sverigekat = {
['dom'] = '[[Kategori:Husdjur]]',
['domesticated'] = '[[Kategori:Husdjur]]',
['dd'] = '[[Kategori:Arter med kunskapsbrist som bevarandestatus]]',
['data'] = '[[Kategori:Arter med kunskapsbrist som bevarandestatus]]',
['lc'] = '[[Kategori:Livskraftiga arter]]',
['nt'] = '[[Kategori:Nära hotade arter]]',
['vu'] = '[[Kategori:Sårbara arter]]',
['en'] = '[[Kategori:Hotade arter i svensk flora och fauna]]',
['cr'] = '[[Kategori:Hotade arter i svensk flora och fauna]]',
['fossil'] = '[[Kategori:Fossila arter]]',
['pre'] = '[[Kategori:Förhistoriska arter]]'
}
function p.LokalStatus(frame)
local args = frame:getParent().args
return p.LokalStatusFromLua(args)
end
function p.LokalStatusFromLua(args)
local s = {}
local t = {}
if args.sverigestatus and args.sverigestatus ~= '' then
if lokalstatus[string.lower(args.sverigestatus)] then
local typ = mw.text.tag('br', {}).. mw.text.tag('span', {style="font-size:.8em"}, '[[Rödlistning|Status]] i Sverige: ' .. lokalstatus[string.lower(args.sverigestatus)])
if args['sverigestatus_ref'] or args['sverigestatus ref'] then
typ = typ .. (args['sverigestatus_ref'] or args['sverigestatus ref'])
end
table.insert(s, typ)
if sverigekat[args.sverigestatus] then
table.insert(t, sverigekat[string.lower(args.sverigestatus)])
end
end
end
for i, j in pairs(args) do
if type(i) == 'string' then
local a = mw.text.split( i, '%s' )
if #a > 1 and a[1] == 'status' and a[#a] ~= 'ref' then
if lokalstatus[string.lower(j)] then
local typ = mw.text.tag('br', {}).. mw.text.tag('span', {style="font-size:.8em"}, '[[Rödlistning|Status]] i ' .. mw.text.trim(string.sub(i, 8)) .. ': ' .. lokalstatus[string.lower(j)])
local i2 = i .. ' ref'
typ = typ .. (args[i2] or '')
table.insert(s, typ)
if i == 'status Sverige' and sverigekat[string.lower(j)] then
table.insert(t, sverigekat[string.lower(j)])
end
end
end
local b = mw.text.split( i, '_' )
if #b > 1 and b[1] == 'status' and b[#b] ~= 'ref' then
if lokalstatus[string.lower(j)] then
local typ = mw.text.tag('br', {}).. mw.text.tag('span', {style="font-size:.8em"}, '[[Rödlistning|Status]] i ' .. mw.text.trim(string.sub(i, 8)) .. ': ' .. lokalstatus[string.lower(j)])
local i2 = i .. '_ref'
typ = typ .. (args[i2] or '')
table.insert(s, typ)
if i == 'status_Sverige' and sverigekat[string.lower(j)] then
table.insert(t, sverigekat[string.lower(j)])
end
end
end
end
end
return (table.concat(s) or '') .. ( table.concat(t) or '')
end
return p