Jump to content

MediaWiki:Gadget-featured-articles-links.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/**
 * Interwiki links to featured articles
 *
 * Highlights interwiki links to featured articles (or equivalents) by changing
 * the bullet before the interwiki link into a star.
 *
 * @author: [[User:R. Koot]]
 * @author: [[User:Helder.wiki]]
 * TODO: add support for
 * - featured portals (used in frwiki)
 * - localized class names (used by eswiki, frwiki, ptwiki, rowiki, etc)
 * - complex language fallbacks (see [[zh:MediaWiki:Gadget-site-lib.js]])
 *
 * Warning! Global gadget file!
 */
/*global mw, $ */
var i18n = {
	'badge-featured': {
		ab: 'Избранная статья.',
		ar: 'هذه مقالة مختارة بهذه اللغة.',
		bn: 'এই নিবন্ধটি এই ভাষায় নির্বাচিত নিবন্ধ।',
		de: 'Dieser Artikel wurde als exzellent bewertet.',
		el: 'Αυτό το λήμμα είναι αξιόλογο λήμμα σε αυτή τη γλώσσα.',
		en: 'This is a featured article in this language.',
		es: 'Éste es un artículo destacado en esta Wikipedia.',
		fa: 'این مقاله، یک مقاله برگزیده است.',
		fr: 'Lien vers un article de qualité.',
		hi: 'यह इस भाषा में एक निर्वाचित लेख है।',
		id: 'Ini adalah artikel pilihan dalam bahasa lain.',
		it: 'La voce è in vetrina in questa lingua.',
		kk: 'Бұл осы тілдегі таңдаулы мақала',
		ko: '이 문서는 해당 언어에서 알찬 글로 선정되었습니다.',
		lv: 'Šis ir vērtīgs raksts šajā valodā',
		mk: 'Избрана статија на овој јазик.',
		nl: 'Dit is een etalage-artikel in een andere taal.',
		pl: 'Artykuł w tym języku jest na medal',
		pt: 'Este é um artigo destacado neste idioma.',
		ro: 'Acest articol este considerat a fi de calitate',
		ru: 'Эта статья является избранной в другом языковом разделе',
		ta: 'இம்மொழியில் இக்கட்டுரை சிறப்புக் கட்டுரையாகும்.',
		th: 'บทความนี้เป็นบทความคัดสรรในภาษาอื่น',
		tr: 'Bu madde başka bir dilde seçkin madde statüsündedir.',
		vi: 'Liên kết này dẫn đến bài chọn lọc.'
	},
	'badge-good': {
		ab: 'Хорошая статья.',
		ar: 'هذه مقالة جيدة بهذه اللغة',
		bn: 'এই নিবন্ধটি এই ভাষায় ভালো নিবন্ধ।',
		de: 'Dieser Artikel wurde als lesenswert bewertet.',
		el: 'Αυτό το λήμμα είναι καλό λήμμα σε αυτή τη γλώσσα.',
		en: 'This is a good article in this language.',
		es: 'Éste es un artículo bueno en esta Wikipedia.',
		fa: 'این مقاله، یک مقاله خوب است.',
		fr: 'Lien vers un bon article.',
		hi: 'यह इस भाषा में एक श्रेष्ठ लेख है।',
		id: 'Ini adalah artikel bagus dalam bahasa lain.',
		it: 'La voce è di qualità in questa lingua.',
		kk: 'Бұл осы тілдегі жақсы мақала',
		ko: '이 문서는 해당 언어에서 좋은 글로 선정되었습니다.',
		lv: 'Šis ir labs raksts šajā valodā',
		mk: 'Добра статија на овој јазик.',
		nl: 'Dit is een goed artikel in een andere taal.',
		pl: 'Artykuł w tym języku jest dobrym artykułem',
		pt: 'Este é um artigo bom neste idioma.',
		ro: 'Acest articol este considerat a fi bun',
		ru: 'Эта статья является хорошей в другом языковом разделе',
		ta: 'இம்மொழியில் இக்கட்டுரை ஒரு நல்ல கட்டுரையாகும்.',
		th: 'บทความนี้เป็นบทความคุณภาพในภาษาอื่น',
		tr: 'Bu madde başka bir dilde kaliteli madde statüsündedir.',
		vi: 'Liên kết này dẫn đến bài chất lượng tốt.'
	},
	'badge-featured-list': {
		bn: 'এই নিবন্ধটি এই ভাষায় নির্বাচিত তালিকা।',
		en: 'This is a featured list in this language.',
		fr: 'Lien vers une liste de qualité.',
		lv: 'Šis ir vērtīgs saraksts šajā valodā',
		mk: 'Избран список на овој јазик.',
		pt: 'Esta é uma lista destacada neste idioma.',
		ru: 'Этот список или портал является избранным в другом языковом разделе',
		vi: 'Liên kết này dẫn đến danh sách chọn lọc.'
	}
};

function msg( key ){
	return i18n[ key ][ mw.config.get( 'wgUserLanguage' ).split('-')[0] ] || i18n[ key ].en;
}

function linkFA() {
	var $list = mw.config.get( 'skin' ) === 'cologneblue' ?
		$( '#langlinks' ).find( 'span' ) :
		$( '#p-lang' ).find( 'li' );
	$list.each( function(){
		var $this = $( this ),
			lang = $this.find( '[lang]' ).attr( 'lang' ) || '',
			id = 'interwiki-' + lang.toLowerCase();
		if ( $this.is( '.badge-featuredarticle, .badge-goodarticle, .badge-featuredlist' ) ) {
			return;
		}
		if ( document.getElementById( id + '-fa' ) ) {
			$this.addClass( 'FA' )
				.attr( 'title', msg( 'badge-featured' ) );
		} else if ( document.getElementById( id + '-ga' ) ) {
			$this.addClass( 'GA' )
				.attr( 'title', msg( 'badge-good' ) );
		} else if ( document.getElementById( id + '-fl' ) ) {
			$this.addClass( 'FL' )
				.attr( 'title', msg( 'badge-featured-list' ) );
		}
	} );
}

mw.hook( 'wikipage.content' ).add( linkFA );