MediaWiki:Gadget-StructuredCategories.js

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/*Note: This is not installed as a local gadget, but is referenced by other projects */
/*Primary Author/Maintainer: User:Csisc */
/*2022 large updates: User:Od1n */
/*Description: [[:d:Wikidata:Structured Categories]] */
if ( mw.config.get( 'wgCanonicalNamespace' ) === 'Category' ) {
	( function () {
		var title = mw.config.get( 'wgPageName' );
		var lang = mw.config.get( 'wgContentLanguage' );
		var wiki = mw.config.get( 'wgServer' ).split( '//' )[ 1 ];
		var contentSub = document.querySelector( '#contentSub' );
		if ( !contentSub ) {
			return;
		}
		var desc = {
			'en': 'Structured Description',
			'fr': 'Description structurée',
			'ar': 'وصف منظم',
			'it': 'Descrizione strutturata',
			'de': 'Strukturierte Beschreibung',
			'es': 'Descripción estructurada',
			'pt': 'Descrição Estruturada',
			'mt': 'Deskrizzjoni Strutturata',
			'sv': 'Strukturerad beskrivning',
			'ja': '構造化された説明',
			'af': 'Gestruktureerde beskrywing',
			'sq': 'Përshkrimi i strukturuar',
			'am': 'የተዋቀረ መግለጫ',
			'hy': 'Կառուցվածքային նկարագրություն',
			'az': 'Strukturlaşdırılmış Təsvir',
			'eu': 'Deskribapen egituratua',
			'be': 'Структураванае апісанне',
			'nl': 'Gestructureerde beschrijving',
			'eo': 'Strukturita priskribo',
			'bn': 'কাঠামোবদ্ধ বিবরণ',
			'bs': 'Strukturirani opis',
			'bg': 'Структурирано описание',
			'ca': 'Descripció estructurada',
			'ceb': 'Ang istruktura nga paghulagway',
			'ny': 'Kufotokozera Kwabwino',
			'zh-classical': '結構化描述',
			'zh': '结构化描述',
			'co': 'Description strutturata',
			'hr': 'Strukturirani opis',
			'cs': 'Strukturovaný popis',
			'da': 'Struktureret beskrivelse',
			'et': 'Struktureeritud kirjeldus',
			'tl': 'Naayos na Paglalarawan',
			'fi': 'Jäsennelty kuvaus',
			'gl': 'Descrición estruturada',
			'ka': 'სტრუქტურირებული აღწერა',
			'el': 'Δομημένη περιγραφή',
			'gu': 'સ્ટ્રક્ચર્ડ વર્ણન',
			'ht': 'Deskripsyon estriktire',
			'ha': 'Tsararren Tsari',
			'haw': 'Wehewehe Kūlana',
			'he': 'תיאור מובנה',
			'hi': 'संरचित विवरण',
			'hu': 'Strukturált leírás',
			'is': 'Skipulögð lýsing',
			'ig': 'Nkọwapụta ahaziri',
			'id': 'Deskripsi Terstruktur',
			'ga': 'Tuairisc Struchtúrtha',
			'jv': 'Katrangan Struktur',
			'kn': 'ರಚನಾತ್ಮಕ ವಿವರಣೆ',
			'kk': 'Құрылымдық сипаттама',
			'km': 'ការពិពណ៌នារចនាសម្ព័ន្ធ',
			'rw': 'Ibisobanuro byubatswe',
			'ko': '구조화 된 설명',
			'ku': 'Danasîna pêkhatî',
			'ky': 'Структураланган сүрөттөмө',
			'lo': 'ລາຍລະອຽດທີ່ມີໂຄງສ້າງ',
			'lv': 'Strukturēts apraksts',
			'lt': 'Struktūrinis aprašymas',
			'lb': 'Strukturéiert Beschreiwung',
			'mk': 'Структурен опис',
			'mg': 'Famaritana voarindra',
			'ms': 'Huraian Berstruktur',
			'ml': 'ഘടനാപരമായ വിവരണം',
			'mi': 'Whakaahuatanga hanganga',
			'mr': 'संरचित वर्णन',
			'mn': 'Бүтцийн тодорхойлолт',
			'my': 'ဖွဲ့စည်းထားသောဖော်ပြချက်',
			'ne': 'संरचित विवरण',
			'no': 'Strukturert beskrivelse',
			'or': 'ସଂରଚନା ବର୍ଣ୍ଣନା |',
			'ps': 'جوړښت تشریح',
			'fa': 'توضیحات ساختاری',
			'pl': 'Opis strukturalny',
			'pa': 'ਸਟਰਕਚਰਡ ਵੇਰਵਾ',
			'ro': 'Descriere structurată',
			'ru': 'Структурированное описание',
			'sm': 'Faʻamatalaga faʻatulagaina',
			'sco': 'Tuairisgeul structaraichte',
			'sr': 'Структурирани опис',
			'st': 'Tlhaloso e hlophisitsoeng',
			'sn': 'Tsananguro yakarongeka',
			'sd': 'اڏيل وضاحت',
			'si': 'ව්‍යුහාත්මක විස්තරය',
			'sk': 'Štruktúrovaný popis',
			'sl': 'Strukturiran opis',
			'so': 'Sharaxaad qaabaysan',
			'su': 'Katerangan terstruktur',
			'sw': 'Maelezo yaliyopangwa',
			'tg': 'Тавсифи сохторӣ',
			'ta': 'கட்டமைக்கப்பட்ட விளக்கம்',
			'tt': 'Структур тасвирлау',
			'te': 'నిర్మాణాత్మక వివరణ',
			'th': 'คำอธิบายที่มีโครงสร้าง',
			'tr': 'Yapılandırılmış açıklama',
			'tk': 'Düzülen beýany',
			'uk': 'Структурований опис',
			'ur': 'ساختہ وضاحت',
			'ug': 'قۇرۇلمىلىق چۈشەندۈرۈش',
			'uz': 'Tuzilgan tavsif',
			'vi': 'Mô tả có cấu trúc',
			'cy': 'Disgrifiad strwythuredig',
			'xh': 'Inkcazo eyakhiwe kakuhle',
			'yi': 'סטראַקטשערד באַשרייַבונג',
			'yo': 'Apejuwe eleto',
			'zu': 'Incazelo ehlelekile',
			'nb': 'Strukturert beskrivelse',
			'nn': 'Strukturert skildring',
		};
		var container = document.querySelector( '.mw-category-generated' );
		var matches = container.querySelectorAll( 'li' );
		var max = matches.length;
		if ( max > 200 ) {
			max = 200;
		}
		var link = document.createElement( 'a' );
		link.href = 'https://query.wikidata.org/embed.html#SELECT%20%3Fproperty%20%3FpropertyLabel%20%3Fobject%20%3FobjectLabel%20%28%28ROUND%281000%20%2a%20%3Fcount%2F'+max+'%29%2F1000%29%20AS%20%3Fprob%29%0AWITH%20%7B%0A%20SELECT%20%3Fitem1%20WHERE%20%7B%0A%20SERVICE%20wikibase%3Amwapi%20%7B%0A%20%20%20%20%20bd%3AserviceParam%20wikibase%3Aendpoint%20%22'+wiki+'%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20wikibase%3Aapi%20%22Generator%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mwapi%3Agenerator%20%22categorymembers%22%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mwapi%3Agcmtitle%20%22' + title + '%22%3B.%0A%20%20%20%20%20%3Fitem1%20wikibase%3AapiOutputItem%20mwapi%3Aitem.%0A%20%20%7D%20%0A%20%20FILTER%20BOUND%20%28%3Fitem1%29%0A%20%7D%0A%20%20LIMIT%20200%0A%20%7D%0A%20AS%20%25list1%0AWITH%20%7B%0ASELECT%20%3Fproperty%20%3FpropertyLabel%20%3Fobject%20%3FobjectLabel%20%28COUNT%28%2a%29%20AS%20%3Fcount%29%0AWHERE%20%7B%0A%20%20INCLUDE%20%25list1.%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%3Fitem1%20%3Fprop%20%3Fobject.%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20OPTIONAL%20%7B%3Fobject%20rdfs%3Alabel%20%3FobjectLabel.%0A%20%20FILTER%28LANG%28%3FobjectLabel%29%3D%22'+lang+'%22%29%7D%0A%20%20%3Fproperty%20wikibase%3AdirectClaim%20%3Fprop.%0A%20%20OPTIONAL%20%7B%3Fproperty%20rdfs%3Alabel%20%3FpropertyLabel.%0A%20%20FILTER%28LANG%28%3FpropertyLabel%29%3D%22'+lang+'%22%29%7D%0A%7D%0AGROUP%20BY%20%3Fproperty%20%3FpropertyLabel%20%3Fobject%20%3FobjectLabel%0AORDER%20BY%20DESC%28%3Fcount%29%0ALIMIT%206%0A%7D%20AS%20%25list%0AWHERE%20%7B%0A%20%20INCLUDE%20%25list.%0A%20%20FILTER%28%3Fcount%20%3E%203%29%0A%20%20%7D%0AORDER%20BY%20DESC%28%3Fcount%29';
		link.textContent = desc[ lang ] || desc.en;
		var linkContainer = document.createElement( 'p' );
		linkContainer.appendChild( link )
		contentSub.appendChild( linkContainer );
	}() );
}