Modul:Kategori køn
Udseende
Dette Lua-modul bruges p� ca. 90.500 sider, eller omkring 9% af alle sider. For at undg� store forstyrrelser og un�dvendigt pres p� serverne, b�r alle �ndringer af skabelonen f�rst afpr�ves i dens tilh�rende modulets /sandkasse eller /test-undersider, eller i din egen module sandkasse. De f�rdigafpr�vede �ndringer kan derefter overf�res til denne side ved en enkelt redigering. Du b�r ogs� overveje at diskutere �ndringer p� diskussionssiden f�r du implementerer dem. |
Form�l
Angive k�n p� biografier baseret p� hvilket k�n, som er registreret i Wikidata.
Brug
Modulen bruges ved at l�gge ind {{#invoke:Kategori k�n|koenskategori}} i en skabelon. Skabelonen {{FD}} har implementeret det.
{{#invoke:Kategori k�n|function_name}}
local math_mod = require( "Module:Math" )
local p = {}
local useKategory = {
["Q43445"] = " ", -- k�n hun for dyr - kategoriserer vi ikke
["Q44148"] = " ", -- k�n han for dyr - kategoriserer vi ikke
["Q48270"] = " ", -- kj�nnsskeiv -- p� vent
["Q189125"] = " ", -- "[[Kategori:transpersoner]]", .. utsettes litt
["Q1052281"] = " " , -- Til vurdering: "[[Kategori:Kvinde]][[Kategori:transpersoner]]",
["Q1097630"] = " ", -- interseksuell - p� vent
["Q2449503"] = " " , -- Til vurdering: "[[Kategori:Mand]][[Kategori:transpersoner]]",
["Q6581072"] = "[[Kategori:Kvinde]]",
["Q6581097"] = "[[Kategori:Mand]]",
["Q18116794"] = " ", -- genderfluid - p� vent
["Q27679684"] = " ", -- transfeminine - p� vent
["Q96000630"] = " " -- X-gender - p� vent
}
local function selectSingleClaim(claims)
if not claims then
return nil
end
local selectedClaim = nil
for idx,claim in pairs(claims) do
if claim.rank == 'preferred' then
return claim
end
if claim.rank == 'normal' then
if not selectedClaim then
selectedClaim = claim
end
end
end
return selectedClaim
end
-- Return k�n til artiklen
function p.koenskategori(frame)
if not mw.wikibase then
return ""
end
local artikel = mw.wikibase.getEntityObject()
if not artikel then
return "[[Kategori:Artikler som ikke er forbundet til Wikidata]]"
end
local claims = artikel.claims
if not claims then
return "[[Kategori:Artikler som mangler udsagn p� Wikidata]]"
end
local p21 = selectSingleClaim(claims.P21)
if not p21 then
local p31 = claims.P31
if p31 then
local forekomst = p31[1].mainsnak.datavalue.value["numeric-id"]
if forekomst == 5 then
return "[[Kategori:Wikidata mangler k�n]]"
end
end
return ""
end
if p21.mainsnak.datavalue == nil then
return "[[Kategori:K�n ukendt]]"
else
local kjonnid = p21.mainsnak.datavalue.value["numeric-id"]
local kjonn = "Q" ..kjonnid
local kjonnkat = useKategory[kjonn] or "[[Kategori:Køn ukendt]]"
return kjonnkat
end
end
function p.statistik()
local maend = mw.site.stats.pagesInCategory("mænd", "pages")
local kvinder = mw.site.stats.pagesInCategory("kvinder", "pages")
local alle = maend+kvinder
local prosMaend = maend*100/alle
local prosKvinder = kvinder*100/alle
return "Antal biografier:<br/>" ..
"- Kvinder " .. mw.language.getContentLanguage():formatNum(kvinder) .. " (" .. math_mod._precision_format(prosKvinder,2) .. " %)<br/>" ..
"- Maend " .. mw.language.getContentLanguage():formatNum(maend) .. " (" .. math_mod._precision_format(prosMaend,2) .. " %)"
end
return p