Modul:Taksoboks: Forskjell mellom sideversjoner
Hopp til navigering
Hopp til søk
Ingen redigeringsforklaring |
Ingen redigeringsforklaring |
||
| Linje 28: | Linje 28: | ||
['phylum'] = 'Rekke', | ['phylum'] = 'Rekke', | ||
['zoodivisio'] = 'Divisjon', | ['zoodivisio'] = 'Divisjon', | ||
['subdivisio'] = ' | ['subdivisio'] = 'Underdivisjon', | ||
['subphylum'] = 'Underrekke', | ['subphylum'] = 'Underrekke', | ||
['infraphylum'] = 'Infrarekke', | ['infraphylum'] = 'Infrarekke', | ||
Sideversjonen fra 8. jan. 2024 kl. 09:47
Dokumentasjon for denne modulen kan opprettes på Modul:Taksoboks/dok
--[[ Modul:Taksoboks
Denne modulen skal i framtiden kalles fra Mal:Taksoboks. Den skal inneholde nødvendige funksjoner og data som kan fjerne behovet for de mange ulike taksoboksene. Til og begynne med kan den kalles fra de ulike taksoboksene med relevante funksjoner for å utføre samme oppgave. Etterhvert kan kanskje de mange taksoboksene fases ut og fjernes med bot
]]
local p = {}
--[[
the module should give priority to manually added parameters, 30–349 are parameters for scientific classification
]]
--[[
Taksoboksens seksjon som viser biologisk klassifisering har en etikett i venstre kolonne og navnet på et nivå i hierarkiet i høyre kolonne. De forskjellige nivåenes etiketter baseres på de latinske navnene i tabellen translations. De oversatte etikettene på nivåene svarer til Petter Bøckmans Bruker:Petter_Bøckman/fornorske_rang.
Funksjonen tester først om parameteret inneholder virus, unranked_ eller ikke_rankert_ og vil returnere «Gruppe» hvis den oppdager det. Hvis ikke vil den gå gjennom nøklene i translations og returnere oversettelsen straks den finner den.
]]
p.translateRank = function (frame)
local translations = {
['superdomain'] = 'Overdomene',
['domain'] = 'Domene',
['superregnum'] = 'Overrike',
['regnum'] = 'Rike',
['subregnum'] = 'Underrike',
['superdivisio'] = 'Overdivisjon',
['superphylum'] = 'Overrekke',
['divisio'] = 'Divisjon',
['phylum'] = 'Rekke',
['zoodivisio'] = 'Divisjon',
['subdivisio'] = 'Underdivisjon',
['subphylum'] = 'Underrekke',
['infraphylum'] = 'Infrarekke',
['microphylum'] = 'Mikrorekke',
['nanophylum'] = 'Nanorekke',
['superclassis'] = 'Overklasse',
['classis'] = 'Klasse',
['subclassis'] = 'Underklasse',
['infraclassis'] = 'Infraklasse',
['magnordo'] = 'Hyperorden',
['superordo'] = 'Overorden',
['ordo'] = 'Orden',
['subordo'] = 'Underorden',
['infraordo'] = 'Infraorden',
['parvordo'] = 'Parvorden',
['superfamilia'] = 'Overfamilie',
['familia'] = 'Familie',
['subfamilia'] = 'Underfamilie',
['supertribus'] = 'Overtribus',
['tribus'] = 'Tribus', -- unødvendig å oversette
['subtribus'] = 'Undertribus',
['alliance'] = 'Allianse',
['genus'] = 'Slekt',
['subgenus'] = 'Underslekt',
['sectio'] = 'Seksjon',
['zoosectio'] = 'Seksjon',
['subsectio'] = 'Underseksjon',
['zoosubsectio'] = 'Underseksjon',
['series'] = 'Serien',
['subseries'] = 'Underserien', -- underserie(n)?
['species_group'] = 'Artsgruppe', -- uoversatt? herfra og ut
['species_subgroup'] = 'Artsuntergruppe', -- skulle kanskje vært Artsundergruppe?
['species_complex'] = 'Artskompleks',
['species'] = 'Art',
['subspecies'] = 'Underart',
['variety'] = 'Varietet',
['form'] = 'Form', -- Herfra og ut er ikke støttet av Mal:Taksoboks, og finnes derfor ikke i params
['infraspecies'] = 'Infraart',
['infratribus'] = 'Infratribus',
['subzoodivisio'] = 'Subdivisjon',
['micrordo'] = 'Mikro-orden',
['grandordo'] = 'Grandorden',
['cohort'] = 'Kohort', -- Skal kursiveres?
['informal'] = 'Uformell gruppe', -- Skal kursiveres?
['informal_group'] = 'Uformell gruppe', -- Skal kursiveres?
['stem group'] = 'Kronegruppe', -- Skal kursiveres?
['crown group'] = 'Kronegruppe', -- Skal kursiveres?
['total group'] = 'Kronegruppe', -- Skal kursiveres?
['legion'] = '{{ucfirst:{{{1}}}}}', -- Skal kursiveres?
['infralegion'] = '{{ucfirst:{{{1}}}}}', -- Skal kursiveres?
['superlegion'] = 'Overlegion', -- Skal kursiveres?
['sublegion'] = 'Underlegion', -- Skal kursiveres?
['cladus'] = 'Gruppe',
['clade'] = 'Gruppe',
['ichnostem-group'] = 'Iknokronegruppe', -- Skal kursiveres?
['ichnosuperclassis'] = 'Iknooverklasse',
['ichnoclassis'] = 'Iknoklasse',
['ichnosubclassis'] = 'Iknounderklasse',
['ichnoinfraclassis'] = 'Iknoinfraklasse',
['ichnodivisio'] = 'Iknodivisjon',
['ichnosubdivisio'] = 'Iknounderdivisjon',
['ichnoinfradivisio'] = 'Iknoinfradivisjon',
['ichnomagnordo'] = 'Iknohyperorden',
['ichnosuperordo'] = 'Iknooverorden',
['ichnograndordo'] = 'Iknograndorden',
['ichnomicrordo'] = 'Iknomikrorden',
['ichnoordo'] = 'Iknoorden',
['ichnosubordo'] = 'Iknoudnerorden',
['ichnoinfraordo'] = 'Iknoinfraorden',
['ichnoparvordo'] = 'Iknoparvorden',
['ichnosuperfamilia'] = 'Iknooverfamilie',
['ichnofamilia'] = 'Iknofamilie',
['ichnosubfamilia'] = 'Iknounderfamilie',
['ichnogenus'] = 'Iknoslekt',
['ichnosubgenus'] = 'Iknounderslekt',
['ichnospecies'] = 'Iknoart',
['ichnosubspecies'] = 'Iknornderart', -- Skulle kanskje vært Iknounderart
['ichnoinfraspecies'] = 'Iknoinfraart',
['ooclassis'] = 'Ooklasse',
['oosubclassis'] = 'Oounderklasse',
['oosupercohort'] = 'Oooverkohort', -- Skal kursiveres?
['oocohort'] = 'Ookohort', -- Skal kursiveres?
['oomagnordo'] = 'Oohyperorden',
['oosuperordo'] = 'Ooverorden',
['oordo'] = 'Oorden',
['morphotype'] = 'Morfotype',
['oofamilia'] = 'Oofamilie',
['oogenus'] = 'Ooslekt',
['oosubgenus'] = 'Oounderslekt',
['oospecies'] = 'Ooart',
['oosubspecies'] = 'Oounderart',
['ooinfraspecis'] = 'Ooinfraart',
}
local label = ""
local param_name = frame.args['param_name']
local unranked = {
"ikke_rankert_",
"unranked_",
"virus",
}
for _,s in ipairs(unranked) do
if mw.ustring.match( param_name , s ) ~= nil then
return "Gruppe"
end
end
for k,v in pairs(translations) do
if param_name == k then
label = v
end
if label ~= "" then
return label
end
end
return label
end
local function getBestP18fromWikidata()
if not mw.wikibase then
mw.log('no wikibase connection')
return ""
end
local wikidataItem = mw.wikibase.getEntity('Q131219') -- remove qid when testing is over
if not wikidataItem then
return ""
end
local claims = wikidataItem:getBestStatements('P18')
if not claims then
return ""
end
local img = claims[1]['mainsnak']['datavalue']['value']
return img
end
local navn = "{{{navn|{{PAGENAME}}}}}"
local bilde = "[[Fil:" .. getBestP18fromWikidata() .. "|frameless]]"
local taksoboksLinjer = {
'{| class="infoboks"',
'|- colspan=2 class="overskrift',
'!' .. navn,
'|- colspan=2 class="bilde"',
'|' .. bilde,
'|}',
}
local taksoboks = table.concat(taksoboksLinjer, '\n')
table.insert(p, taksoboks)
function p.skrivTaksoboks ( frame )
-- use table.insert(p, name) to insert a local variable to the package
return frame:preprocess( taksoboks )
end
return p