Jump to content

User:Mdann52/removeinterwiki.js

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
//imported from https://www.wikidata.org/w/index.php?title=User:Yair_rand/checksitelinks.js


$(function ($) {
  var translate = {
    'en': {
      removeinterwikis: "Remove interwikis",
      summary: "Removed $2 sitelink(s) migrated to [[d:$1|an item]] on [[WP:WDATA|Wikidata]]"
    },
    'be-tarask': {
      removeinterwikis: "Выдаліць інтэрвікі",
      summary: "Выдаленыя інтэрвікі перанесеныя ў [[ВП:Вікізьвесткі|Вікізьвесткі]]"
    },
    'bn': {
      removeinterwikis: "আন্তঃউইকি সংযোগ সরানো",
      summary: "$2টি সাইটলিঙ্ক সরানো হয়েছে, যা উইকিউপাত্তের [[d:$1|আইটেমে]] স্থানান্তর করা হয়েছে"
    },
    'cs': {
      removeinterwikis: "Odstranit interwiki",
      summary: "$2 interwiki převedeno/a do [[d:$1|položky]] na Wikidatech"
    },
    'de': {
      removeinterwikis: "Interwiki-Links entfernen",
      summary: "$2 [[Hilfe:Internationalisierung|Interwiki-Link(s)]] nach [[WP:Wikidata|Wikidata]] ([[d:$1]]) migriert"
    },
    'eo': {
      removeinterwikis: "Forigi intervikiojn",
      summary: "$2 intervikioj transigitaj al [[d:$1|ero]] en [[VP:VD|Vikidatumoj]]"
    },
    'es': {
      removeinterwikis: "Eliminar interwikis",
      summary: "Eliminando los interwikis movidos a [[Wikidata]]"
    },
    'fa': {
      removeinterwikis: "حذف میان‌ویکی‌ها",
      summary: "حذف $2 پیوند میان‌ویکی انتقال‌یافته به [[d:$1|این آیتم]] در [[ویکی‌پدیا:ویکی‌داده|ویکی‌داده]]"
    },
    'fi': {
      removeinterwikis: "Poista kielilinkit",
      summary: "Poistettu $2 [[WP:WDATA|Wikidatan]] sivulle [[d:$1]] siirrettyä kielilinkkiä"
    },
    'fr': {
      removeinterwikis: "Supprimer les liens interlangues",
      summary: "Retrait de $2 lien(s) interlangue(s), désormais fournis par [[WP:WD|Wikidata]] sur la page [[d:$1]]"
    },
    'gl': {
      removeinterwikis: "Eliminar interwikis",
      summary: "Eliminando os interwikis movidos a [[Wikidata]]"
    },
    'id': {
      removeinterwikis: "Hapus interwiki",
      summary: "Hapus $2 interwiki, migrasi ke ''[[d:$1|item]]'' di [[WP:WDATA|Wikidata]]"
    },
    'ilo': {
      removeinterwikis: "Agikkat kadagiti interwiki",
      summary: "Nagikkat kadagiti $2 a silpo ti sitio a naiyalis iti [[d:$1|maysa a banag]] idiay [[WP:WDATA|Wikidata]]"
    },
    'it': {
      removeinterwikis: "Rimuovi interlink",
      summary: "Rimossi $2 interlink trasferiti a [[d:$1|un elemento]] su [[Aiuto:Interlink#Interlink_mediante_Wikidata|Wikidata]]"
    },
    'ja': {
      removeinterwikis: "言語間リンクの除去",
      summary: "[[WP:WDATA|ウィキデータ]]の[[d:$1|項目]]に移行した言語間リンク $2 件を除去"
    },
    'ko': {
      removeinterwikis: "인터위키 제거",
      summary: "[[백:위키데이터|위키데이터]]의 [[d:$1|항목]]으로 이동한 $2개의 인터위키 링크 제거"
    },
    'ku': {
      removeinterwikis: "Girêdanên înterwîkiyê jê bibe",
      summary: "Girêdanên ku derbasî [[WP:WD|Wikidata]]yê bûne jêbibe"
    },
    'min': {
      removeinterwikis: "Hapuih interwiki",
      summary: "Hapuih $2 interwiki, migrasi ka ''[[d:$1|item]]'' di [[WP:WDATA|Wikidata]]"
    },
    'pl': {
      removeinterwikis: "Usuń linki interwiki",
      summary: "Przeniesiono linki interwiki ($2) do [[d:$1|elementu]] na [[Wikidane|Wikidanych]]"
    },
    'pt': {
      removeinterwikis: "Remover interwikis",
      summary: "Removidos $2 link(s) interlíngua(s) migrado(s) para [[d:$1|um item]] do projeto [[WP:WDATA|Wikidata]]"
    },
    'pt-br': {
      removeinterwikis: "Remover ligações para outros idiomas",
      summary: "Removidas $2 ligação(ões) para outros idiomas migradas para [[d:$1|um item]] do projeto [[WP:WDATA|Wikidata]]"
    },
    'ru': {
      removeinterwikis: "Удалить интервики",
      summary: "Удалённые интервики-ссылки ($2) перенесены в [[d:$1|соответствующий элемент]] [[ВП:ВД|Викиданных]]"
    },
    'sk': {
      removeinterwikis: "Odstrániť interwiki",
      summary: "$2 interwiki prevedených do [[d:$1|položky]] na [[WP:WÚ|Wikiúdajoch]]"
    },
    'ur': {
      removeinterwikis: "حذف بین الویکی روابط",
      summary: "حذف بین الویکی ربط برائے صفحہ ہذا از [[منصوبہ:ویکی ڈیٹا|ویکی ڈیٹا]]"
    }
  };
  var namespace = mw.config.get('wgNamespaceNumber'), 
    lang = mw.config.get('wgPageContentLanguage'),
    m = translate[ lang ] || translate.en,
    page = namespace === 0 ? mw.config.get('wgTitle') : mw.config.get('wgFormattedNamespaces')[ namespace ] + ':' + mw.config.get('wgTitle').replace(/\/doc$|\/Dokumentácia$|\/Dokumentacija$/, ''),
    editbox = document.getElementById( "wpTextbox1" );
  function removeInterwikis() {
    document.body.style.cursor = "wait";
    $.ajax({
      url: '//www.wikidata.org/w/api.php',
      data: {
        'format': 'json',
          'action': 'wbgetentities',
          'sites': mw.config.get('wgDBname'),
          'titles': page,
          'props': 'sitelinks',
          'languages': lang
      },
      dataType: 'jsonp',
      success: function (data) {
        if (data.success) {
          for (var i in data.entities) {
            if ( i != -1 ) {
              var item = data.entities[i] && data.entities[i].sitelinks, numberremoved = 0;
              if ( item ) {
                for ( var ii in item ) {
                  var reg = new RegExp( 
                    $.escapeRE( "[[" + item[ ii ].site.split("wiki")[0].replace(/_/g,"-") ) + ":" + // interwiki prefix
                    item[ ii ].title.replace( /^([^:]+)(:.+)$/, function(pg, ns, title) { // page name
                      return '(?:' + $.escapeRE( ns ) + '|' + $.escapeRE( mw.config.get('wgCanonicalNamespace') ) + ')' + $.escapeRE( title );
                    } ) + 
                    "\\]\\]\\n?"
                  );
                  editbox.value !== (editbox.value = editbox.value.replace( reg, "" )) && numberremoved++;
                }
              }
              var editsum = document.getElementById("wpSummary");
              editsum && (editsum.value += ( m.summary || '' ).replace(/\$1/g, i.toUpperCase()).replace(/\$2/g, numberremoved));
            }
          }
        }
        document.body.style.cursor = "";
      }
    });
  }
  editbox && $( mw.util.addPortletLink( 'p-cactions', '#', m.removeinterwikis ) ).on( "click", removeInterwikis);
});