Utilisateur:Od1n/Gadget-StructuredCategories.js
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./*Note: This is not installed as a local gadget, but is referenced by other projects */
/*Primary Author/Maintainer: User:Csisc */
/*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 query = stringBuilder( [
' SELECT ?property ?propertyLabel ?object ?objectLabel ((ROUND(1000 * ?count/' + max + ')/1000) AS ?prob) ',
' WITH { ',
' SELECT ?item1 ',
' WHERE { ',
' SERVICE wikibase:mwapi { ',
' bd:serviceParam wikibase:endpoint "' + wiki + '"; ',
' wikibase:api "Generator"; ',
' mwapi:generator "categorymembers"; ',
' mwapi:gcmtitle "' + title + '";. ',
' ?item1 wikibase:apiOutputItem mwapi:item. ',
' } ',
' FILTER BOUND (?item1) ',
' } ',
' LIMIT 200 ',
' } AS %list1 ',
' WITH { ',
' SELECT ?property ?propertyLabel ?object ?objectLabel (COUNT(*) AS ?count) ',
' WHERE { ',
' INCLUDE %list1. ',
' ?item1 ?prop ?object. ',
' OPTIONAL { ',
' ?object rdfs:label ?objectLabel. ',
' FILTER(LANG(?objectLabel)="' + lang + '") ',
' } ',
' ?property wikibase:directClaim ?prop. ',
' OPTIONAL { ',
' ?property rdfs:label ?propertyLabel. ',
' FILTER(LANG(?propertyLabel)="' + lang + '") ',
' } ',
' } ',
' GROUP BY ?property ?propertyLabel ?object ?objectLabel ',
' ORDER BY DESC(?count) ',
' LIMIT 6 ',
' } AS %list ',
' WHERE { ',
' INCLUDE %list. ',
' FILTER(?count > 3) ',
' } ',
' ORDER BY DESC(?count) ',
] );
var link = document.createElement( 'a' );
link.href = 'https://query.wikidata.org/embed.html#' + encodeURIComponent( query );
link.textContent = desc[ lang ] || desc.en;
var linkContainer = document.createElement( 'p' );
linkContainer.appendChild( link )
contentSub.appendChild( linkContainer );
function stringBuilder( lines ) {
var indent = 9999;
lines.forEach( function ( line ) {
var lineIndent = line.match( /^ */ )[ 0 ].length;
indent = Math.min( indent, lineIndent );
} );
return lines.map( function ( line ) {
return line.substring( indent ).replace( / +$/, '' );
} ).join( '\n' );
}
}() );
}