MediaWiki:Gadget-WikidataInfo.js
Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.
- Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
- Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
- Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5.
- Opera: Naciśnij klawisze Ctrl+F5.
// UWAGA! Z tego gadżetu korzystają także inne projekty
// Original version: [[d:User:Yair rand/WikidataInfo.js]]
location.search.indexOf("printable=yes") == -1 && $(function ($) {
var translate = {
'en': {
notfound: "Wikidata item not found.",
intro: "Wikidata: ",
nolabel: "(no label)",
nodescription: "no description given",
aliases: "Aliases: ",
noaliases: "None"
},
'pl': {
notfound: "Brak elementu Wikidanych.",
intro: "Wikidane: ",
nolabel: "(brak etykiety)",
nodescription: "brak opisu",
aliases: "Inne nazwy: ",
noaliases: "Brak"
}
}
var namespace = mw.config.get('wgNamespaceNumber'),
lang = mw.config.get('wgPageContentLanguage'),
page = namespace === 0 ? mw.config.get('wgTitle') : mw.config.get('wgFormattedNamespaces')[ namespace ] + ':' + mw.config.get('wgTitle');
$.ajax({
url: '//www.wikidata.org/w/api.php',
data: {
'format': 'json',
'action': 'wbgetentities',
'sites': mw.config.get('wgDBname'),
'titles': page,
'props': 'info|labels|descriptions|aliases',
'languages': lang
},
dataType: 'jsonp',
success: function (data) {
if (data.success) {
var $d = $("<div>").appendTo("#contentSub"),
m = translate[ lang ] || translate.en;
for (var i in data.entities) {
if (i == -1) {
$d.append($("<a>").attr("href", "//www.wikidata.org/wiki/Special:CreateItem?site="+mw.config.get("wgDBname")+"&page="+page).text( m.notfound ))
} else {
var item = data.entities[i],
i = 0, aliases = [];
try {
for (; i < item.aliases[lang].length; i++) {
aliases.push(item.aliases[lang][i].value);
}
} catch (e) { }
$d.append($("<a>").attr("href", "//www.wikidata.org/wiki/" + item.title).text(m.intro + ( item.labels ? item.labels[lang].value : m.nolabel ) + " (" + item.title + ")"),$("<span>").text(", "),$("<i>").text(item.descriptions ? item.descriptions[lang].value : m.nodescription),$("<br>"),$("<span>").text(m.aliases + (aliases.join(", ") || m.noaliases)))
}
}
}
}
});
});