MediaWiki:Common.js/GenderCats.js

Vun Wikipedia

Dink doran: Maak na dat Spiekern den Browser-Cache leddig, üm dien Ännern sehn to könen:

  • Firefox/ Safari: Umschaltung drücken un gliektiedig Aktualisieren anklicken oder Strg+F5 oder Strg+R (Befehlstaste-R op den Mac) drücken
  • Google Chrome: Umschaltung+Strg+R (Befehlstaste-R op den Mac) drücken
  • Internet Explorer: Strg+F5 drücken oder Strg drücken un gliektiedig Aktualisieren anklicken
  • Opera: Extras → Internetspuren löschen … → Individuelle Auswahl → Den kompletten Cache löschen
  • Konqueror: Aktualisieren anklicken oder F5 drücken
//<nowiki>
/*
   Klaut bi (un anpasst): //de.wikipedia.org/wiki/Benutzer:Reinhard_Kraasch/GenderCats.js
   Düt Skript sett Kategorienaams in de Form för Mannslüüd bi Froonslüüd (dat heet: bi Artikels, bi de de "Kategorie:Fru" sett is) in de passliche Form üm
*/
mw.loader.using('mediawiki.util', function () {
	var repIn = [
		['b', 'iathlet'],
		['f', 'ohrer'],
		['s', 'peler'],
		['l', 'öper'],
		['m', 'aler'],
		['m', 'usiker'],
		['m', 'inister'],
		['s', 'pringer'],
		['s', 'chriever'],
		['t', 'eekner'],
		['p', 'hysiker'],
		['p', 'ianist'],
		['f', 'orscher'],
		['p', 'roduzent'],
		['d', 'irigent'],
		['s', 'mieter'],
		['c', 'hemiker'],
		['j', 'ournalist'],
		['j', 'urist'],
		['s', 'portler'],
		['b', 'illner'],
		['k', 'ämper'],
		['p', 'olitiker'],
		['a', 'rchitekt'],
		['t', 'echniker'],
		['d', 'ichter'],
		['r', 'ichter'],
		['ü', 'nnernehmer'],
		['r', 'ieder'],
		['g', 'rafiker'],
		['d', 'r[äe]ger'],
		['k', '[ou]mponist'],
		['b', 'otaniker'],
		['d', 'eelnehmer'],
		['b', 'örger'],
		['k', 'aiser'],
		['h', 'umanist'],
		['t', 'rainer'],
		['s', '[äi]nger'],
		['p', 'hilosoph'],
		['f', 'eldherr'],
		['b', 'argstieger'],
		['m', 'issionar'],
		['o', 'ffizier'],
		['m', 'oderator'],
		['s', 'enator'],
		['v', 'erbreker'],
		['u', 'tfinner'],
		['b', 'ildhauer'],
		['ö', 'versetter'],
		['m', 'anager'],
		['h', 'istoriker'],
		['o', 'pdecker'],
		['e', 'ditor'],
		['m', 'eester'],
		['r', 'utgever'],
		['r', 'över'],
		['s', 'nacker'],
		['s', 'teker'],
		['k', 'omiker'],
		['i', 'ndianer'],
		['a', 'stronom'],
		['k', 'ünstler'],
		['m', 'athematiker'],
		['l', 'ichtathlet'],
		['p', 'hilatelist'],
		['r', 'abbiner'],
		['t', 'autrecker'],
		['m', 'erteler'],
		['t', 'exter'],
		['m', 'aker'],
		['k', 'ardinal'],
		['d', 'an[sz]er'],
		['s', 'töter'],
		['a', 'nimator'],
		['b', 'oer'],
		['f', 'reemüerer'],
		['h', 'artog']
	];
	var repSche = [
		['i', 'llustrater'],
		['s', 'enater']
	];
	var repToSingle = [
		['oloog', 'ologin'],
		['aloog', 'alogin'],
		['agoog', 'agogin'],
		['omaat', 'omatin'],
		['ograaf', 'ografin'],
		['onoom', 'onomin'],
		['astoor', 'astorin']
	];
	var repShorten = [
		['a', 'fordnete'],
		['g', 'eistliche'],
		['h', 'illige'],
		['a', 'adlige']
	];
	var repFull = [
		['Kameramann', 'Kamerafro'],
		['Bischop', 'Bischöpin'],
		['Beamten', 'Beamtin'],
		['Abt', 'Äbtissin'],
		['Kock', 'Kööksch']
	];
	var elemsIn = [];
	repIn.forEach(function(elem) {
		elemsIn.push('(?:' + elem[0].toUpperCase() + '|.+' + elem[1] + ')');
	});
	var elemsSche = [];
	repSche.forEach(function(elem) {
		elemsSche.push('(?:' + elem[0].toUpperCase() + '|.+' + elem[1] + ')');
	});
	var elemsShorten = [];
	repShorten.forEach(function(elem) {
		elemsShorten.push('(?:' + elem[0].toUpperCase() + '|.+' + elem[1] + ')');
	});
	var regExIn = new RegExp('^(' + elemsIn.join('|') + ')($| \(| v[aou]n ))');
	var regExSche = new RegExp('^(' + elemsSche.join('|') + ')($| \(| v[aou]n ))');
	var regExShorten = new RegExp('^(' + elemsShorten.join('|') + ')[rn]($| \())');
	
	function replaceIt(t){
		t = t.replace(regExIn, '$1in$2');
		t = t.replace(regExSche, '$1sche$2');
		t = t.replace(regExShorten, '$1$2');
		repToSingle.forEach(function(elem) {
			t = t.replace(new RegExp('^(.+)(' + elem[0] + ')($| \())'), '$1' + elem[1] + '$3');
		});
		repFull.forEach(function(elem) {
			t = t.replace(new RegExp('^(' + elem[0] + ')($| \())'), elem[1] + '$2');
		});
		return t;
	}
	$(function () {
		var a; 
		var isFru = false;
		// Kategorien dörsöken
		var links = document.getElementById('mw-normal-catlinks');
		// Skin Vector, Monobook, Modern 
	    if(!links) {
	    	links = document.getElementById('p-normal-catlinks');
		// Skin Timeless
		    if(!links) {
		        return; 
		    }
		}
	    var lis = links.getElementsByTagName('a');
	    if(!lis) return;
		for(var i = 0; i < lis.length; i++) {
			a = lis[i];
			// Is Kategorie "Fru" vörhannen?
		    if (a.innerText == "Fru") {
		    	isFru = true;
		    	break;
		    }
		}    
		if (isFru) {
			// denn in de Form för Froonslüüd bringen
			for(i = 0; i < lis.length; i++) {
				a = lis[i];
			    a.innerText = replaceIt(a.innerText);
			}    
		}
	});
});
// </nowiki>