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