//<nowiki>
/*
Dieses Skript ändert zuverlässig die maskulinen Kategoriebezeichnungen
in feminine um, sobald die Kategorie:Frau gesetzt ist und in Wikidata
eine weibliche Form (P2521=„weibliche Form des Bezeichners“) des
Kategorien-Namens eingetragen wurde.
Zur Einbindung die Zeile
mw.loader.load('//de.wikipedia.org/w/index.php?title=Benutzer:DaB./KatGenderer.js&action=raw&ctype=text/javascript');
in die eigene common.js setzen. Kann z.B. mit ] getestet
werden.
*/
mw.loader.using(, function () {
function replaceIt(s){
var catname='Kategorie:'.concat(s.innerText);
var api = new mw.Api();
api.get( {
action: 'query',
prop: 'pageprops',
titles: catname
} ).done( function ( data ) {
var WDID;
try {
WDID=data.query.pages].pageprops.wikibase_item;
} catch (e) {
return;
}
var wdapi = new mw.ForeignApi('https://www.wikidata.org/w/api.php?');
wdapi.get( {
action: 'wbgetclaims',
entity: WDID,
property:'P2521'
} ).done( function ( wddata ) {
console.log(wddata);
var femaledKatText=wddata.claims.P2521.mainsnak.datavalue.value.text;
console.log(femaledKatText);
s.innerText = femaledKatText;
} );
} );
}
$(function () {
var h1 = document.getElementById('firstHeading');
if(!h1) return;
var title = h1.innerText;
var x = title.indexOf('Test GenderCats');
var a;
var istFrau = false;
if (x >= 0){
// Testseiten bearbeiten
var li = document.getElementsByTagName('li');
for(var j = 0; j < li.length; j++)
{
var b = li;
var lis = b.getElementsByTagName('a');
for(var i = 0; i < lis.length; i++)
{
a = lis;
a.innerText = replaceIt(a.innerText);
}
}
} else {
// Kategorien durchsuchen
var links = document.getElementById('mw-normal-catlinks');
if(!links)
return;
var lis = links.getElementsByTagName('a');
if(!lis)
return;
for(var i = 0; i < lis.length; i++)
{
a = lis;
// Ist Kategorie "Frau" vorhanden?
if (a.innerText == "Frau") {
istFrau = true;
// alert("Frau");
break;
}
}
if (istFrau) {
// dann ersetzen
for(i = 0; i < lis.length; i++)
{
a = lis;
replaceIt(a);
}
}
}
}); });
//</nowiki>