Modul:Taksoboks: Forskjell mellom sideversjoner

Fra wikisida.no
Hopp til navigering Hopp til søk
Ingen redigeringsforklaring
Ingen redigeringsforklaring
Linje 1: Linje 1:
--[[ 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 = {}
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.
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.
Linje 47: Linje 39:
    ['subfamilia'] = 'Underfamilie',
    ['subfamilia'] = 'Underfamilie',
    ['supertribus'] = 'Overtribus',
    ['supertribus'] = 'Overtribus',
    ['tribus'] = 'Tribus', -- unødvendig å oversette
    ['tribus'] = 'Tribus',
    ['subtribus'] = 'Undertribus',
    ['subtribus'] = 'Undertribus',
    ['alliance'] = 'Allianse',
    ['alliance'] = 'Allianse',
Linje 57: Linje 49:
    ['zoosubsectio'] = 'Underseksjon',
    ['zoosubsectio'] = 'Underseksjon',
    ['series'] = 'Serien',
    ['series'] = 'Serien',
    ['subseries'] = 'Underserien', -- underserie(n)?
    ['subseries'] = 'Underserie',
    ['species_group'] = 'Artsgruppe', -- uoversatt? herfra og ut
    ['species_group'] = 'Artsgruppe',
    ['species_subgroup'] = 'Artsundergruppe', -- skulle kanskje vært Artsundergruppe?
    ['species_subgroup'] = 'Artsundergruppe',
    ['species_complex'] = 'Artskompleks',
    ['species_complex'] = 'Artskompleks',
    ['species'] = 'Art',
    ['species'] = 'Art',
Linje 104: Linje 96:
    ['ichnosubgenus'] = 'Iknounderslekt',
    ['ichnosubgenus'] = 'Iknounderslekt',
    ['ichnospecies'] = 'Iknoart',
    ['ichnospecies'] = 'Iknoart',
    ['ichnosubspecies'] = 'Iknornderart', -- Skulle kanskje vært Iknounderart
    ['ichnosubspecies'] = 'Iknounderart',
    ['ichnoinfraspecies'] = 'Iknoinfraart',
    ['ichnoinfraspecies'] = 'Iknoinfraart',
    ['ooclassis'] = 'Ooklasse',
    ['ooclassis'] = 'Ooklasse',
Linje 119: Linje 111:
    ['oospecies'] = 'Ooart',
    ['oospecies'] = 'Ooart',
    ['oosubspecies'] = 'Oounderart',
    ['oosubspecies'] = 'Oounderart',
    ['ooinfraspecis'] = 'Ooinfraart',
    ['ooinfraspecies'] = 'Ooinfraart',
     }
     }
     local label = ""
     local label = ""
Linje 149: Linje 141:


return label
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
end


return p
return p

Sideversjonen fra 12. jan. 2024 kl. 20:59

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