Benutzer:Sänger/common.js

In diesem Artikel tauchen wir in die Welt von Benutzer:Sänger/common.js ein und erkunden ihre verschiedenen Facetten und Bedeutungen. Benutzer:Sänger/common.js weckt ständiges Interesse in der Gesellschaft, sei es aufgrund seiner Auswirkungen auf die Geschichte, seiner Relevanz in der Gegenwart oder seiner Projektion in die Zukunft. In diesem Sinne werden wir uns mit einer detaillierten Analyse von Benutzer:Sänger/common.js befassen und seinen Ursprung, seine Entwicklung und mögliche Auswirkungen untersuchen. Ob es sich um eine ikonische Figur, ein kulturelles Phänomen oder ein relevantes Ereignis handelt, Benutzer:Sänger/common.js weckt das Interesse von Fachleuten und Fans gleichermaßen und bietet einen fruchtbaren Boden für Reflexion und Debatte.
mw.loader.load('//ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-markblocked.js&action=raw&ctype=text/javascript');
mw.loader.load("//www.wikidata.org/w/index.php?title=User:Yair rand/WikidataInfo.js&action=raw&ctype=text/javascript");
mw.loader.load( "https://en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/refNames/r.js&action=raw&maxage=86400&ctype=text/javascript" );
//]
mw.loader.load('https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/diff.js&action=raw&ctype=text/javascript');

/*
   Dieses Skript setzt mehr oder minder zuverlässig die maskulinen Kategoriebezeichnungen
   in feminine um, sobald die Kategorie:Frau gesetzt ist.
*/
mw.loader.using('mediawiki.util', function () {
	function replaceIt(s){
		// Heuristik 1: reguläre Ausdrücke zum Einsetzen eines "-in"
		var re1 = new Array(/(.*)(er)(\b)/,/(.*)(or)(\b)/,/(.*)(ss)e(\b)/,/(.*)(ek)e(\b)/,
			/(.*)(ant)(\b)/,/(.*)(el)i(\b)/,/(.*)(ose)(\b)/,/(.*)(iech)e(\b)/,
			/(.*)(log)e(\b)/,/(.*)(owak)e(\b)/,/(.*)(ech)e(\b)/,/(.*)(ett)e(\b)/,
			/(.*)(eur)(\b)/,/(.*)(ent)(\b)/,/(.*)(ist)(\b)/,/(.*)(let)(\b)/,
			/(.*)(när)(\b)/,/(.*)(oph)(\b)/,/(.*)(mat)(\b)/,/(.*)(law)e(\b)/,
			/(.*)(erb)e(\b)/,/(.*)(wed)e(\b)/,/(.*)(ol)e(\b)/,/(.*)(gog)e(\b)/,
			/(.*)(tekt)(\b)/,/(.*)(reograf)(\b)/,
			/(.*)(rit)e(\b)/,/(.*)(gar)(\b)/,/(.*)(ret)(\b)/,/(.*)(r)e(\b)/ );
		
		// Heuristik 2: reguläre Ausdrücke zum Zurück-Ersetzen (wo Heuristik 1 zu viel des Guten tat)
		var re2 = new Array(/(.*)(\sder)in(\b)/,/(.*)(sche)rin(\b)/,/(.*)(dende)r(\b)/,
			/(.*)(nete)rin(\b)/,/(.*)(lige)rin(\b)/,/(.*)(\sd)in(\b)/,/(.*)(oder)in(\b)/,
			/(.*)(ebende)rin(\b)/,/(.*)(ber)in(ühmten)(\b)/,/(.*)(einer)in(\b)/,
			/(.*)(zellent)in(\b)/,/(.*)(lement)in(\b)/,
			/(.*)(zende)rin(\b)/,/(.*)(rechte)rin(\b)/,/(.*)(unter)in(\b)/,/(.*)(ber)in(ö)/,
			/(.*)(rste)rin(\b)/,/(.*)(bner)in(\b)/,/(.*)(nde)rin(\sK)/,/(.*)(hriller)in(\b)/);

		var t=s, tt, i, j;
		for (j = 1;;j++) {
			// "-in" anhängen bzw. einfügen - Heuristik 1 anwenden
			tt = t;
			for ( i = 0; i < re1.length; i++)  {
				t = t.replace(re1, "$1$2in$3");
			}
			if (t==tt) break;
		}

		for (j = 1;;j++) {
			tt = t;
			// hier wurde zu viel des Guten getan - Heuristik 2 anwenden
			for (i = 0; i < re2.length; i++)  {
				t = t.replace(re2, "$1$2$3");
			}
			if (t==tt) break;
		}
		
		// Heuristik 3 : nachbessern 
		t = t.replace(/zosein\b/,'zösin');
		t = t.replace(/nwalt\b/,'nwältin');
		t = t.replace(/Meterin\b/,'Meter');
		t = t.replace(/Graf\b/,'Gräfin');
		t = t.replace(/(rder)in\b/,'$1');
		t = t.replace(/(per)in\b/,'$1');
		t = t.replace(/(er)in(\sFest)/,'$1$2');
		t = t.replace(/(inder)in/,'$1');
		t = t.replace(/(iviler)in/,'$1');
		t = t.replace(/(chlager)in/,'$1');
		t = t.replace(/(pfer)in/,'$1');
		t = t.replace(/(ager)in/,'$1');
		t = t.replace(/(eiler)in/,'$1');
		t = t.replace(/(lass)in/,'$1e');
		t = t.replace(/(Cassirer)in/,'$1');
		t = t.replace(/(Trier)in/,'$1');
		t = t.replace(/(Speyer)in/,'$1');		
		t = t.replace(/(Officer)in/,'$1');
		
		return t;
}
	$(function () {
	// Kategorien durchsuchen
	var links = document.getElementById('mw-normal-catlinks');
    if(!links)
        return;
    var lis = links.getElementsByTagName('a');
    if(!lis)
        return;
	var istFrau = false;
	var a;
	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;
		    a.innerText = replaceIt(a.innerText);
		}    
	}
}); });

/* This script adds "Source links" below "What links here" in the sidebar.
   "What links here" will include pages using a template with the link.
   "Source links" tries to search for pages where the link is in the source.
   To use the script, add the following line to Special:MyPage/common.js: */
importScript(':en:User:PrimeHunter/Source links.js'); // Linkback: ]