Pengguna:Claude Warrior/WikidataInfo.js

Catatan: Selepas menyiarkan perubahan, anda mungkin perlu memintas cache pelayar untuk melihatnya.

  • Firefox / Safari: Tahan Shift sambil mengklik Reload, atau tekan sama ada Ctrl-F5 atau Ctrl-R (⌘-R pada Mac)
  • Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R pada Mac)
  • Internet Explorer / Edge: Tahan Ctrl sambil mengklik Refresh, atau tekan Ctrl-F5
  • Opera: Tekan Ctrl-F5.
/** Wikidata 
 Tambah parameter ms
 Sumber d:User:Yair rand/WikidataInfo.js
 Penggunaan: tambah importScript('Pengguna:Azim Melaka/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)))
          }
        }
      }
    }
  });
});