Modul:Taksoboks
Dokumentasjon for denne modulen kan opprettes på Modul:Taksoboks/dok
local p = {}
--[[
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',
['subtribus'] = 'Undertribus',
['alliance'] = 'Allianse',
['genus'] = 'Slekt',
['subgenus'] = 'Underslekt',
['sectio'] = 'Seksjon',
['zoosectio'] = 'Seksjon',
['subsectio'] = 'Underseksjon',
['zoosubsectio'] = 'Underseksjon',
['series'] = 'Serien',
['subseries'] = 'Underserie',
['species_group'] = 'Artsgruppe',
['species_subgroup'] = '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'] = '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',
['ooinfraspecies'] = '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
return p