MediaWiki:Common.js: Porovnání verzí

Přejít na: navigace, hledání
(Překlad)
 
(Převzato z de)
Řádka 1: Řádka 1:
 
/* Zde uvedený JavaScript bude zaveden pro všechny uživatele při načtení kterékoli strany. */
 
/* Zde uvedený JavaScript bude zaveden pro všechny uživatele při načtení kterékoli strany. */
 +
 +
// ============================================================
 +
// BEGIN Configuration for "star" logo at the top of Featured Articles
 +
 +
/** set to false in [[Special:Mypage/monobook.js]] to switch off this "feature" */
 +
var enable_linkFA = true;
 +
 +
/**
 +
  * star logo for featured articles in other languages,
 +
  * see [[:Template:Link_FA]] and [[MediaWiki:Common.css]]
 +
  */
 +
function linkFA() {
 +
    // early exit when diabled
 +
    if (!enable_linkFA) return;
 +
   
 +
    // links are to replaced in p-lang only
 +
    var    pLang  = document.getElementById("p-lang");
 +
    if (!pLang)    return;
 +
    var    lis = pLang.getElementsByTagName("li");
 +
    for (var i=0; i<lis.length; i++) {
 +
          var  li  = lis[i];
 +
          // only links with a corresponding Link_FA template are interesting
 +
          if (!document.getElementById(li.className + "-fa"))  continue;
 +
         
 +
          // additional class so the template can be hidden with CSS
 +
          li.className += " FA";
 +
         
 +
          // change title
 +
          li.title = "Dieser Artikel wurde als exzellent bewertet.";
 +
    }
 +
}
 +
// aOnloadFunctions[aOnloadFunctions.length] = linkFA;
 +
addOnloadHook(linkFA);
 +
 +
// END Configuration for "star" logo at the top of Featured Articles */
 +
// ============================================================
 +
 +
//***********************************************************************
 +
/** "Technical restrictions" title fix *****************************************
 +
  *
 +
  *  Description:
 +
  *  Maintainers: [[:en:User:Interiot|User:Interiot]], [[:en:User:Mets501|User:Mets501]]
 +
  *  adjusted to deWP by [[:de:User:CyRoXX|User:CyRoXX]]
 +
  */
 +
 +
// For pages that have something like Template:Lowercase, replace the title, but only if it is cut-and-pasteable as a valid wikilink.
 +
// (for instance [[iPod]]'s title is updated.  <nowiki>But [[C#]] is not an equivalent wikilink, so [[C Sharp]] doesn't have its main title changed)</nowiki>
 +
//
 +
// The function looks for a banner like this: <nowiki>
 +
// <div id="RealTitleBanner">    <!-- div that gets hidden -->
 +
//  <span id="RealTitle">title</span>
 +
// </div>
 +
// </nowiki>An element with id=DisableRealTitle disables the function.
 +
var disableRealTitle = 0; // users can disable this by making this true from their monobook.js
 +
editprefix = "Bearbeiten von ";
 +
 +
addOnloadHook(function() {
 +
try {
 +
var realTitleBanner = document.getElementById("Vorlage_Korrekter_Titel");
 +
if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle) {
 +
var realTitle = document.getElementById("Korrekter_Titel");
 +
if (realTitle) {
 +
var realTitleHTML = realTitle.innerHTML;
 +
realTitleText = pickUpText(realTitle);
 +
 +
var isPasteable = 0;
 +
//var containsHTML = /</.test(realTitleHTML); // contains ANY HTML
 +
var containsTooMuchHTML = /</.test( realTitleHTML.replace(/<\/?(sub|sup|small|big)>/gi, "") ); // contains HTML that will be ignored when cut-n-pasted as a wikilink
 +
// calculate whether the title is pasteable
 +
var verifyTitle = realTitleText.replace(/^ +/, ""); // trim left spaces
 +
verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
 +
 +
// if the namespace prefix is there, remove it on our verification copy.  If it isn't there, add it to the original realValue copy.
 +
if (wgNamespaceNumber != 0) {
 +
if (wgCanonicalNamespace == verifyTitle.substr(0, wgCanonicalNamespace.length).replace(/ /g, "_") && verifyTitle.charAt(wgCanonicalNamespace.length) == ":") {
 +
verifyTitle = verifyTitle.substr(wgCanonicalNamespace.length + 1);
 +
} else {
 +
realTitleText = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleText;
 +
realTitleHTML = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleHTML;
 +
}
 +
}
 +
 +
// verify whether wgTitle matches
 +
verifyTitle = verifyTitle.replace(/^ +/, "").replace(/ +$/, ""); // trim left and right spaces
 +
verifyTitle = verifyTitle.replace(/_/g, " "); // underscores to spaces
 +
verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
 +
isPasteable = (verifyTitle == wgTitle);
 +
 +
// replace the English canonical Namespaces by the German Namespaces
 +
var enNS = new Array("Media", "Special", "Talk", "User", "User talk", "Project", "Project talk", "Image", "Image talk", "MediaWiki", "MediaWiki talk", "Template", "Template talk", "Help", "Help talk", "Category", "Category talk", "Portal", "Portal talk");
 +
var deNS = new Array("Media", "Spezial", "Diskussion", "Benutzer", "Benutzer Diskussion", "Wikipedia", "Wikipedia Diskussion", "Bild", "Bild Diskussion", "MediaWiki", "MediaWiki Diskussion", "Vorlage", "Vorlage Diskussion", "Hilfe", "Hilfe Diskussion", "Kategorie", "Kategorie Diskussion", "Portal", "Portal Diskussion");
 +
 +
for (var i = 0; i <= enNS.length - 1; i++) {
 +
    //alert(enNS[i] + "-" + deNS[i]);
 +
    var NSregex = new RegExp("^" + enNS[i] + ":");
 +
    realTitleText = realTitleText.replace(NSregex, deNS[i] + ":");
 +
    realTitleHTML = realTitleHTML.replace(NSregex, deNS[i] + ":");
 +
}
 +
 +
// Add the 'editprefix' to the titles, if wgIsArticle is false
 +
if (!wgIsArticle) {
 +
    realTitleText = editprefix + realTitleText;
 +
                                    realTitleHTML = editprefix + realTitleHTML;
 +
}
 +
 +
var h1 = document.getElementsByTagName("h1")[0];
 +
if (h1 && isPasteable) {
 +
h1.innerHTML = containsTooMuchHTML ? realTitleText : realTitleHTML;
 +
if (!containsTooMuchHTML)
 +
realTitleBanner.style.display = "none";
 +
}
 +
document.title = realTitleText + " - Wikipedia";
 +
}
 +
}
 +
} catch (e) {
 +
/* Something went wrong. */
 +
}
 +
});
 +
 +
 +
 +
// similar to innerHTML, but only returns the text portions of the insides, excludes HTML
 +
function pickUpText(aParentElement) {
 +
  var str = "";
 +
 +
  function pickUpTextInternal(aElement) {
 +
    var child = aElement.firstChild;
 +
    while (child) {
 +
      if (child.nodeType == 1) // ELEMENT_NODE
 +
        pickUpTextInternal(child);
 +
      else if (child.nodeType == 3) // TEXT_NODE
 +
        str += child.nodeValue;
 +
 +
      child = child.nextSibling;
 +
    }
 +
  }
 +
 +
  pickUpTextInternal(aParentElement);
 +
 +
  return str;
 +
}
 +
//********Ende erzwungener kleiner Anfangsbuchstabe********************

Verse z 24. 2. 2007, 18:57

/* Zde uvedený JavaScript bude zaveden pro všechny uživatele při načtení kterékoli strany. */

 // ============================================================
 // BEGIN Configuration for "star" logo at the top of Featured Articles
 
 /** set to false in [[Special:Mypage/monobook.js]] to switch off this "feature" */
 var enable_linkFA = true;
 
 /** 
  * star logo for featured articles in other languages,
  * see [[:Template:Link_FA]] and [[MediaWiki:Common.css]]
  */
 function linkFA() {
     // early exit when diabled
     if (!enable_linkFA) return;
     
     // links are to replaced in p-lang only
     var    pLang   = document.getElementById("p-lang");
     if (!pLang)    return;
     var    lis = pLang.getElementsByTagName("li");
     for (var i=0; i<lis.length; i++) {
          var   li  = lis[i];
          // only links with a corresponding Link_FA template are interesting
          if (!document.getElementById(li.className + "-fa"))   continue;
          
          // additional class so the template can be hidden with CSS
          li.className += " FA";
          
          // change title
          li.title = "Dieser Artikel wurde als exzellent bewertet.";
     }
 }
 // aOnloadFunctions[aOnloadFunctions.length] = linkFA;
 addOnloadHook(linkFA);
 
 // END Configuration for "star" logo at the top of Featured Articles */
 // ============================================================

 //***********************************************************************
 /** "Technical restrictions" title fix *****************************************
  *
  *  Description:
  *  Maintainers: [[:en:User:Interiot|User:Interiot]], [[:en:User:Mets501|User:Mets501]]
  *  adjusted to deWP by [[:de:User:CyRoXX|User:CyRoXX]]
  */
 
 // For pages that have something like Template:Lowercase, replace the title, but only if it is cut-and-pasteable as a valid wikilink.
 //	(for instance [[iPod]]'s title is updated.  <nowiki>But [[C#]] is not an equivalent wikilink, so [[C Sharp]] doesn't have its main title changed)</nowiki>
 //
 // The function looks for a banner like this: <nowiki>
 // <div id="RealTitleBanner">    <!-- div that gets hidden -->
 //   <span id="RealTitle">title</span>
 // </div>
 // </nowiki>An element with id=DisableRealTitle disables the function.
 var disableRealTitle = 0;		// users can disable this by making this true from their monobook.js
 editprefix = "Bearbeiten von ";
 
 addOnloadHook(function() {
 	try {
 		var realTitleBanner = document.getElementById("Vorlage_Korrekter_Titel");
 		if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle) {
 			var realTitle = document.getElementById("Korrekter_Titel");
 			if (realTitle) {
 				var realTitleHTML = realTitle.innerHTML;
 				realTitleText = pickUpText(realTitle);
 
 				var isPasteable = 0;
 				//var containsHTML = /</.test(realTitleHTML);	// contains ANY HTML
 				var containsTooMuchHTML = /</.test( realTitleHTML.replace(/<\/?(sub|sup|small|big)>/gi, "") ); // contains HTML that will be ignored when cut-n-pasted as a wikilink
 				// calculate whether the title is pasteable
 				var verifyTitle = realTitleText.replace(/^ +/, "");		// trim left spaces
 				verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length);	// uppercase first character
 
 				// if the namespace prefix is there, remove it on our verification copy.  If it isn't there, add it to the original realValue copy.
 				if (wgNamespaceNumber != 0) {
 					if (wgCanonicalNamespace == verifyTitle.substr(0, wgCanonicalNamespace.length).replace(/ /g, "_") && verifyTitle.charAt(wgCanonicalNamespace.length) == ":") {
 						verifyTitle = verifyTitle.substr(wgCanonicalNamespace.length + 1);
 					} else {
 						realTitleText = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleText;
 						realTitleHTML = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleHTML;
 					}
 				}
 
 				// verify whether wgTitle matches
 				verifyTitle = verifyTitle.replace(/^ +/, "").replace(/ +$/, "");		// trim left and right spaces
 				verifyTitle = verifyTitle.replace(/_/g, " ");		// underscores to spaces
 				verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length);	// uppercase first character
 				isPasteable = (verifyTitle == wgTitle);
 				
 				// replace the English canonical Namespaces by the German Namespaces
 				var enNS = new Array("Media", "Special", "Talk", "User", "User talk", "Project", "Project talk", "Image", "Image talk", "MediaWiki", "MediaWiki talk", "Template", "Template talk", "Help", "Help talk", "Category", "Category talk", "Portal", "Portal talk");
 				var deNS = new Array("Media", "Spezial", "Diskussion", "Benutzer", "Benutzer Diskussion", "Wikipedia", "Wikipedia Diskussion", "Bild", "Bild Diskussion", "MediaWiki", "MediaWiki Diskussion", "Vorlage", "Vorlage Diskussion", "Hilfe", "Hilfe Diskussion", "Kategorie", "Kategorie Diskussion", "Portal", "Portal Diskussion");
 				
 				for (var i = 0; i <= enNS.length - 1; i++) {
 				    //alert(enNS[i] + "-" + deNS[i]);
 				    var NSregex = new RegExp("^" + enNS[i] + ":");
 				    realTitleText = realTitleText.replace(NSregex, deNS[i] + ":");
 				    realTitleHTML = realTitleHTML.replace(NSregex, deNS[i] + ":");
 				}
 
 				// Add the 'editprefix' to the titles, if wgIsArticle is false
 				if (!wgIsArticle) {
 				    realTitleText = editprefix + realTitleText;
                                    realTitleHTML = editprefix + realTitleHTML;
 				}
 				
 				var h1 = document.getElementsByTagName("h1")[0];
 				if (h1 && isPasteable) {
 					h1.innerHTML = containsTooMuchHTML ? realTitleText : realTitleHTML;
 					if (!containsTooMuchHTML)
 						realTitleBanner.style.display = "none";
 				}
 				document.title = realTitleText + " - Wikipedia";
 			}
 		}
 	} catch (e) {
 		/* Something went wrong. */
 	}
 });

 
 
 // similar to innerHTML, but only returns the text portions of the insides, excludes HTML
 function pickUpText(aParentElement) {
   var str = "";
 
   function pickUpTextInternal(aElement) {
     var child = aElement.firstChild;
     while (child) {
       if (child.nodeType == 1)		// ELEMENT_NODE 
         pickUpTextInternal(child);
       else if (child.nodeType == 3)	// TEXT_NODE
         str += child.nodeValue;
 
       child = child.nextSibling;
     }
   }
 
   pickUpTextInternal(aParentElement);
 
   return str;
 }
 //********Ende erzwungener kleiner Anfangsbuchstabe********************