User:Yair rand/WikidataInfo.js: Difference between revisions

From Wikidata
Jump to navigation Jump to search
Content deleted Content added
No edit summary
No edit summary
Line 259: Line 259:
for (var i in data.entities) {
for (var i in data.entities) {
if (i == -1) {
if (i == -1) {
$d.append($("<a>").attr("href", "//www.wikidata.org/wiki/Special:CreateItem?site="+mw.config.get("wgDBname")+"&page="+page+"&label="+page).text( m.notfound ))
$d.append($("<a>").attr("href",
"//www.wikidata.org/wiki/Special:CreateItem?site=" +
mw.config.get("wgDBname") +
"&page=" + encodeURIComponent( page ) +
"&label=" + encodeURIComponent( page )
).text( m.notfound ) );
} else {
} else {
var item = data.entities[i],
var item = data.entities[i],

Revision as of 05:10, 10 April 2014

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: "{{PLURAL:$1|Alias|Aliases}}: ",
      noaliases: "None"
    },
    'ar': {
      notfound: "لم يعثر على هذه المادة في ويكي بيانات.",
      intro: "ويكي بيانات: ",
      nolabel: "(لا توجد تسمية)",
      nodescription: "لا يوجد توصيف",
      aliases: "أسماء أخرى: ",
      noaliases: "لا توجد أسماء أخرى"
    },
    'be-tarask': {
      notfound: "Элемэнт ВікіЗьвестак ня знойдзены.",
      intro: "ВікіЗьвесткі: ",
      nolabel: "(Няма меткі)",
      nodescription: "няма апісаньня",
      aliases: "Сынонімы: ",
      noaliases: "Няма"
    },
    'bn': {
      notfound: "উইকিউপাত্তের আইটেম পাওয়া যায়নি।",
      intro: "উইকিউপাত্ত: ",
      nolabel: "(লেবেল নেই)",
      nodescription: "বিবরণ দেওয়া হয়নি",
      aliases: "উপনামগুলি: ",
      noaliases: "কোনটি না"
    },
    'bs': {
      notfound: "Nije pronađena stavka na Wikipodacima.",
      intro: "Wikipodaci: ",
      nolabel: "(bez oznake)",
      nodescription: "opis nije naveden",
      aliases: "Alternativne oznake: ",
      noaliases: "Nema"
    },
    'ca': {
      notfound: "No s'ha trobat l'element de Wikidata.",
      intro: "Wikidata: ",
      nolabel: "(Cap etiqueta)",
      nodescription: "cap descripció introduïda",
      aliases: "Àlies: ",
      noaliases: "Cap"
    },
    'cs': {
      notfound: "Položka nebyla ve Wikidatech nalezena.",
      intro: "Wikidata: ",
      nolabel: "(bez názvu)",
      nodescription: "bez popisu",
      aliases: "Alternativní názvy: ",
      noaliases: "žádné"
    },
    'de': {
      notfound: "Wikidata-Eintrag nicht gefunden",
      intro: "Wikidata: ",
      nolabel: "(Keine Bezeichnung)",
      nodescription: "Keine Beschreibung vorhanden",
      aliases: "Alternative Bezeichnungen: ",
      noaliases: "keine"
    },
    'dsb': {
      notfound: "Wikidatowa sajźba se njejo namakana.",
      intro: "Wikidaty: ",
      nolabel: "(bźez pomjenjenja)",
      nodescription: "bźez wopisa",
      aliases: "Alternatiwne mjenja: ",
      noaliases: "žedne"
    },
    'el': {
      notfound: "Δεν βρέθηκε αντικείμενο στο Wikidata.",
      intro: "Wikidata: ",
      nolabel: "(Χωρίς ετικέτα)",
      nodescription: "δεν δίνεται περιγραφή",
      aliases: "Επίσης γνωστό ως: ",
      noaliases: "Κανένα"
    },
    'eo': {
      notfound: "Vikidatuma ero ne trovita.",
      intro: "Vikidatumoj: ",
      nolabel: "(sen etikedo)",
      nodescription: "sen priskribo",
      aliases: "{{PLURAL:$1|Alternativa nomo|Alternativaj nomoj}}: ",
      noaliases: "neniu"
    },
    'fa': {
      notfound: "برای این صفحه در ویکی‌داده آیتمی یافت نشد.",
      intro: "ویکی‌داده: ",
      nolabel: "(بدون برچسب)",
      nodescription: "بدون توضیحات",
      aliases: "نام‌های دیگر: ",
      noaliases: "ندارد!"
    },
    'fi': {
      notfound: "Wikidata-kohdetta ei löydy.",
      intro: "Wikidata: ",
      nolabel: "(ei nimeä)",
      nodescription: "kuvausta ei lisätty",
      aliases: "Aliakset: ",
      noaliases: "ei ole"
    },
    'fr': {
      notfound: "Élement de Wikidata non trouvé.",
      intro: "Wikidata: ",
      nolabel: "(Aucun label)",
      nodescription: "Aucune description fournie",
      aliases: "Alias : ",
      noaliases: "Aucun"
    }, 
    'hsb': {
      notfound: "Wikidatowa sadźba so njeje namakana.",
      intro: "Wikidaty: ",
      nolabel: "(bjez pomjenjowanja)",
      nodescription: "bjez wopisa",
      aliases: "Alternatiwne mjena: ",
      noaliases: "žadne"
    },
    'hu': {
      notfound: "Nincs még ilyen fogalom a Wikidatában",
      intro: "Wikidata: ",
      nolabel: "(nincs címke)",
      nodescription: "nincs leírás",
      aliases: "Más nevek: ",
      noaliases: "nincs"
    },
    'ko': {
      notfound: "위키데이터에 항목이 없습니다.",
      intro: "위키데이터: ",
      nolabel: "(레이블이 지정되지 않았습니다)",
      nodescription: "설명이 없습니다",
      aliases: "다른 이름: ",
      noaliases: "없음"
    },
    'id': {
      notfound: "Item Wikidata belum ada.",
      intro: "Wikidata: ",
      nolabel: "(Belum ada label)",
      nodescription: "belum ada deskripsi",
      aliases: "Nama lain: ",
      noaliases: "Belum ada"
    },
    'ilo': {
      notfound: "Saan a nabirukan ti Wikidata a banag.",
      intro: "Wikidata: ",
      nolabel: "(Awan ti etiketa)",
      nodescription: "awan ti deskripsion a naited",
      aliases: "Sabali a nagan: ",
      noaliases: "Awan"
    },
    'it': {
      notfound: "Elemento di Wikidata non trovato.",
      intro: "Wikidata: ",
      nolabel: "(Nessuna etichetta)",
      nodescription: "Nessuna descrizione fornita",
      aliases: "Alias: ",
      noaliases: "Nessuno"
    },
    'ja': {
      notfound: "ウィキデータの項目が見つかりません。",
      intro: "ウィキデータ: ",
      nolabel: "(ラベルなし)",
      nodescription: "説明がありません",
      aliases: "別名: ",
      noaliases: "なし"
    },
    'min': {
      notfound: "Item Wikidata alun ado.",
      intro: "Wikidata: ",
      nolabel: "(Alun ado label)",
      nodescription: "alun ado deskripsi",
      aliases: "Namo lain: ",
      noaliases: "Alun ado"
    },
    'nn': {
      notfound: "Fann ikkje noko Wikidata-datasett.",
      intro: "Wikidata: ",
      nolabel: "(ingen merkelapp)",
      nodescription: "inga skildring oppgjeven",
      aliases: "Tilleggsnamn: ",
      noaliases: "Ingen"
    },
    'no': {
      notfound: "Wikidata-element ikke funnet.",
      intro: "Wikidata: ",
      nolabel: "(ingen etikett definert)",
      nodescription: "ingen beskrivelse definert",
      aliases: "Også kjent som: ",
      noaliases: "Ingen"
    },
    'pl': {
      notfound: "Brak elementu Wikidanych.",
      intro: "Wikidane: ",
      nolabel: "(brak etykiety)",
      nodescription: "brak opisu",
      aliases: "Inne nazwy: ",
      noaliases: "brak"
    },
    'pt': {
      notfound: "Item do Wikidata não encontrado",
      intro: "Wikidata: ",
      nolabel: "(Nenhum rótulo)",
      nodescription: "nenhuma descrição dada",
      aliases: "Nomes alternativos: ",
      noaliases: "Nenhum"
    },
    'ru': {
      notfound: "Объект Викиданных не найден.",
      intro: "Викиданные: ",
      nolabel: "(нет метки)",
      nodescription: "нет описания",
      aliases: "Синонимы: ",
      noaliases: "нет"
    },
    'sk': {
      notfound: "Položka nebola vo Wikiúdajoch nájdená.",
      intro: "Wikiúdaje: ",
      nolabel: "(bez názvu)",
      nodescription: "bez popisu",
      aliases: "Alternatívne názvy: ",
      noaliases: "žiadne"
    },
    'ur': {
      notfound: "یہ مضمون ویکی ڈیٹا میں نہیں ملا۔",
      intro: "ویکی ڈیٹا: ",
      nolabel: "(نام موجود نہیں)",
      nodescription: "تعریف موجود نہیں",
      aliases: "دیگر نام: ",
      noaliases: "دیگر نام موجود نہیں ہے"
    }
  }
  var namespace = mw.config.get('wgNamespaceNumber'), 
    lang = mw.config.get('wgContentLanguage'),
    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,
        'maxage': mw.config.get("wgUserName") == null ? 900 : 30,
        'smaxage': mw.config.get("wgUserName") == null ? 900 : 30,
        'maxlag': 1
    },
    dataType: 'jsonp',
    success: function (data) {
      if (data.success) {
        var $d = $("<div>").addClass("WDI-box").appendTo("#contentSub"),
          m = translate[ mw.config.get('wgUserLanguage') ] || translate.en;
        mw.messages.set( "WDI-aliases", m.aliases );
        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=" + encodeURIComponent( page ) + 
              "&label=" + encodeURIComponent( 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) { }
            if ( window.WDIlimitaliases && WDIlimitaliases < aliases.length ){
              for( ; WDIlimitaliases < aliases.length; aliases.pop() ) ;
              aliases.push( "..." );
            }
            $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( mw.msg( "WDI-aliases", aliases.length ) + (aliases.join(", ") || m.noaliases) )
            );
          }
        }
      }
    }
  });
});