MediaWiki:Gadget-easyTranslate.js
Ծանուցում. Հիշելուց հետո կատարված փոփոխությունները տեսնելու համար մաքրեք ձեր զննարկիչի հիշապահեստը. Mozilla / Firefox / Safari՝ Ctrl+Shift+R (Cmd+Shift+R Mac OS X-ում) Konqueror՝ F5 Opera՝ Tools→Preferences ընտրացանկից։ Internet Explorer՝ Ctrl+F5
/* global mw $ location */
window.onload = function() {
if (mw.config.get( 'skin' ) != 'vector') {
importScript("MediaWiki:Gadget-translatedFrom.js");
return;
}
var $easyTranslateDialogText = document.createElement("div");
mw.loader.using(['jquery.ui'], function() {
var addedLangs = {};
function confirmLang(e) {
var lang = e.target.getAttribute("easyTranslate-url").match(/^https:\/\/([^\.]+).+/)[1];
var title = e.target.getAttribute("easyTranslate-url").match(/^.+\/wiki\/([\s\S]+)$/)[1];
$easyTranslateDialogText.innerHTML = "Վստա՞հ եք, որ այս հոդվածը թարգմանվել է " + lang + ":wikipedia-ից։ Հաստատելու դեպքում Դուք հոդվածի քննարկման էջում կավելացնեք «Թարգմանված հոդված» կաղապարը։";
$('<div>').append($easyTranslateDialogText).dialog({
width: 400,
modal: false,
title: "Թարգմանված հոդված",
draggable: true,
dialogClass: "wikiEditor-toolbar-dialog",
buttons: [{
text: "Ոչ",
click: function() {
$(this).dialog("close");
}
},
{
text: "Այո",
click: function() {
var that = this;
if (!addedLangs[lang]) {
addedLangs[lang] = true;
addToTalkPage(lang, title).then(function() {
e.target.style.display = 'none';
$(that).dialog("destroy");
$(that).remove();
});
}
}
}
],
close: function() {
$(this).dialog("destroy");
$(this).remove();
}
});
}
var addToTalkPage = function(lang, title) {
addedLangs[lang] = true;
var foreignApi = new mw.ForeignApi( 'https://' + lang + '.wikipedia.org/w/api.php' );
var api = new mw.Api();
return foreignApi.get({
titles: [title],
action: 'query',
prop: 'revisions',
rvprop: 'ids',
}).then(function(data) {
for (var i in data.query.pages) {
var revid = data.query.pages[i].revisions[0].revid;
title = title.replace(/_/g, ' ');
var date = new Date();
var dateFormated = date.getFullYear() + ' թվականի ' + mw.config.get('wgMonthNames')[date.getMonth()+1].toLowerCase() + 'ի ' + date.getDate();
var template = '{{ԹՀ/նոր|' + lang + '|' + title + '|' + revid + '|' + mw.config.get('wgCurRevisionId') + '|' + dateFormated + '}}';
return api.post({
'action': 'edit',
'title': "Քննարկում:" + mw.config.get('wgPageName'),
'prependtext': template + '\n',
'summary': '+' + template,
'token': mw.user.tokens.get('csrfToken')
});
}
});
};
function start() {
var interwikis = document.getElementsByClassName("interlanguage-link");
for (var i = 0; i < interwikis.length; i++) {
var enc_url = decodeURIComponent(interwikis[i].firstChild.href);
var easyTranslateButton = document.createElement("img");
easyTranslateButton.className = "easyTranslate-Button";
easyTranslateButton.src = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/OOjs_UI_icon_language-ltr-progressive.svg/24px-OOjs_UI_icon_language-ltr-progressive.svg.png";
easyTranslateButton.setAttribute("title", "Թարգմանված այս լեզվից");
easyTranslateButton.setAttribute("easyTranslate-url", enc_url);
easyTranslateButton.width = 14;
easyTranslateButton.height = 14;
interwikis[i].appendChild(easyTranslateButton);
easyTranslateButton.addEventListener("click", confirmLang);
}
}
if (mw.config.get('wgNamespaceNumber') === 0 && mw.config.get('wgUserName')) {
var talkPage = document.getElementById("ca-talk");
if (talkPage.classList.contains("new")) {
start();
} else {
$(mw.util.addPortletLink('p-tb',
'#easyTranslate',
'Ավելացնել ԹՀ',
't-page-easyTranslate',
'Հոդվածի քննարկման էջում ավելացնել «Թարգմանված հոդված» կաղապարը')
).click(function() {
if (document.getElementsByClassName('easyTranslate-Button').length < 1) {
start();
}
});
}
}
});
}();