MediaWiki:Gadget-featured-articles-links.js

/** * 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 );