MediaWiki:Gadget-section-interwiki.js

Z Wikisłownika – wolnego słownika wielojęzycznego

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
/*
	Opis: tworzy obok nagłówków sekcji linki do odpowiednich haseł w innych Wikisłownikach
	Autor: [[user:Olaf]]
*/
function om$Interwiki( $content, i, subNode ) {
	var iso = subNode.className.match( /interwiki-([^ ]+)/ )[ 1 ];
	
	if ( !iso ) {
		return true;
	}
	
	switch ( iso ) {
		case 'dk':     iso = 'da'; break;
		case 'minman': iso = 'zh-min-man'; break;
		case 'nb':     iso = 'no'; break;
		case 'jp':     iso = 'ja'; break;
		case 'zh-tw':  iso = 'zh'; break;
		case 'zh-cn':  iso = 'zh'; break;
	}

	var $head = $content.find( '#' + ( iso === 'no' ? 'nb' : iso ) );

	if ( !$head.length ) {
		return true;
	}
	
	var title = mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) );
		
	var hrefURL = mw.config.get( 'wgServer' )
		.replace( '//pl.', '//' + iso + '.' )
		.replace( '/pl/', '/' + iso + '/' )
		+ mw.config.get( 'wgArticlePath' ).replace( '/$1', '/' + title );
		
	switch ( iso ) {
		case 'ca': hrefURL += '#Catal.C3.A0'; break;
		case 'cs': hrefURL += '#.C4.8De.C5.A1tina'; break;
		case 'da': hrefURL += '#Dansk'; break;
		case 'de': hrefURL += '#' + title.replace( /\%/gi, '.' ) + '_.28Deutsch.29'; break;
		case 'el': hrefURL += '#.CE.95.CE.BB.CE.BB.CE.B7.CE.BD.CE.B9.CE.BA.CE.AC_.28el.29'; break;
		case 'en': hrefURL += '#English'; break;
		case 'eo': hrefURL += '#Esperanto'; break;
		case 'es': hrefURL += '#Espa.C3.B1ol'; break;
		case 'fi': hrefURL += '#Suomi'; break;
		case 'fr': hrefURL += '#Fran.C3.A7ais'; break;
		case 'hu': hrefURL += '#Magyar'; break;
		case 'ia': hrefURL += '#Interlingua'; break;
		case 'io': hrefURL += '#Ido'; break;
		case 'it': hrefURL += '#Italiano'; break;
		case 'ja': hrefURL += '#.E6.97.A5.E6.9C.AC.E8.AA.9E'; break;
		//'ko' - nie mają sekcji
		case 'la': hrefURL += '#Latine'; break;
		case 'lt': hrefURL += '#.C2.A0Lietuvi.C5.B3_kalba'; break;
		case 'nl': hrefURL += '#Nederlands'; break;
		case 'nn': hrefURL += '#Nynorsk'; break;
		case 'no': hrefURL += '#Norsk_.28bokm.C3.A5l.29'; break;
		case 'pt': hrefURL += '#Portugu.C3.AAs'; break;
		case 'ro': hrefURL += '#rom.C3.A2n.C4.83'; break;
		case 'ru': hrefURL += '#.D0.A0.D1.83.D1.81.D1.81.D0.BA.D0.B8.D0.B9'; break;
		//'sl' - nie mają sekcji
		case 'sv': hrefURL += '#Svenska'; break;
		case 'sw': hrefURL += '#Kiswahili'; break;
		case 'tr': hrefURL += '#T.C3.BCrk.C3.A7e'; break;
		case 'uk': hrefURL += '#.D0.A3.D0.BA.D1.80.D0.B0.D1.97.D0.BD.D1.81.D1.8C.D0.BA.D0.B0'; break;
		case 'zh': hrefURL += '#.E6.B1.89.E8.AF.AD'; break;
	}
	
	var caption = 'Link do obcojęzycznego Wikisłownika';
	
	$( '<a>' )
		.attr( {
			'href': hrefURL,
			'title': caption
		} )
		.addClass( 'extiw section-interwiki' )
		.text( caption )
		.appendTo( $head.parent() );
}

if ( !mw.util.getParamValue( 'section' ) ) {
	mw.hook( 'wikipage.content' ).add( function( $content ) {
		$( '#p-lang' ).find( '.interlanguage-link' ).each( om$Interwiki.bind( null, $content ) );
	} );
}