Pengguna:Algazel/WikidataInfo.js
Penampilan
Catatan: Selepas diterbitkan, anda mungkin perlu memintas cache pelayar web untuk melihat perubahan.
- Firefox / Safari: Tahan Shift sambil klik Reload, atau tekan sama ada Ctrl-F5 atau Ctrl-R (⌘-R pada Mac)
- Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R pada Mac)
- Edge: Tahan Ctrl sambil tekan Refresh, atau tekan Ctrl-F5.
/** Wikidata
Tambah parameter ms
Sumber d:User:Yair rand/WikidataInfo.js
Penggunaan: tambah importScript('Pengguna:Algazel/Wikidatainfo.js'); pada JS Tambahan anda.
**/
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"
},
'ms': {
notfound: "Item Wikidata tidak terjumpa.",
intro: "Wikidata: ",
nolabel: "(Tiada label)",
nodescription: "tiada pemerian",
aliases: "Aliases: ",
noaliases: "Tiada"
}
}
var namespace = mw.config.get('wgNamespaceNumber'),
lang = mw.config.get('wgPageContentLanguage'),
page = ( namespace -= ( namespace > 0 && namespace % 2 ) ) === 0 ? mw.config.get('wgTitle') : mw.config.get('wgFormattedNamespaces')[ namespace ] + ':' + mw.config.get('wgTitle');
namespace != 2 && $.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)))
}
}
}
}
});
});