MediaWiki:Testbench.js

improve.am-ից

Ծանուցում. Հիշելուց հետո կատարված փոփոխությունները տեսնելու համար մաքրեք ձեր զննարկիչի հիշապահեստը. Mozilla / Firefox / Safari՝ Ctrl+Shift+R (Cmd+Shift+R Mac OS X-ում) Konqueror՝ F5 Opera՝ Tools→Preferences ընտրացանկից։ Internet Explorer՝ Ctrl+F5

var glob=0;
 
jQuery(document).ready(function() {
 
	if(isSpellingPage()) {
        createbutton("Վերլուծել", "analyze");
	}
 
	jQuery("#analyze").click(function() {
		if(glob===0) {		
			analyzer();
			glob++;
		}
	});
 
});
 
function isSpellingPage() {
 
	var name = window.location.pathname;
	var title = document.getElementsByTagName("title")[0].innerHTML; 
        var isSpellP = ( title=="«Դասական ուղղագրություն» - wiki" )||( title=="«Դասական ուղղագրություն» — improve.am" )||
                       ( title=="Տեստ1 — improve.am" )||( title=="Տեստ2 — improve.am" ) ||        
                       ( title=="Տեստ3 — improve.am" )||( title=="Տեստ4 — improve.am" ) ||
                       ( title=="Տեստ5 — improve.am" );
 
        return isSpellP;
 
}
 
function analyzer(){
        checkAvandakanSpelling();
		checkJamanakakicSpelling();
		verlucutyun();
}
 
 
function verlucutyun() {
	var av=checkAvandSpell();
	var jam=checkJamSpell();
	var wc=wordsCount();
	var q=av.length;
        var rightAvPercente=Math.round(100*(100*(wc-av.length)/wc))/100;
        var rightJamPercente=Math.round(100*(100*(wc-jam.length)/wc))/100;
	var text="<br/><hr><br/>Էջում բերված բոլոր բառերի քանակը՝ "+wc+" է, որից <span style='color:green'>ճիշտ</span> է թարգմանվել՝";
	text+="<br/>ժամանակակիցից Ավանդական "+(wc-av.length)+" բառ` "+rightAvPercente+"% <br/>";
	text+="<br/>Ավանդականից ժամանակակից "+(wc-jam.length)+" բառ` "+rightJamPercente+"%<br/>";
	text+="<br/><br/><span style='color:red'>Ավանդական ուղղագրության սխալներն են`</span><br/>";
	for(var i = 0; i<q; ++i) {
		text+=av[i];
		text+=", ";
		if(i%5===0) {
			text+="<br/>";
		}
	}
 
	text+="<br/><br/>";
	text+="<span style='color:red'>Ժամանակակից ուղղագրության սխալներն են`</span><br/>";
	q=jam.length;
	for(i = 0; i<q; ++i) {
		text+=jam[i];
		text+=", ";
		if(i%5===0) {
			text+="<br/>";
		}
	}
	text+="<br/>";
 
	jQuery("#content").append(text);
}
 
function createBut() {
 
    var but=jQuery("<input />");
    but.attr("type","button");
    but.attr("value", "վերլուծում");
    but.attr("id", "verluc");
    jQuery("#content").append(but);
}
 
function createbutton(value, id) {
    var ul=jQuery("<ul />");
    var li=jQuery("<li />");
    var but=jQuery("<input />");
    but.attr("type","button");
    but.attr("value", value);
    //but.attr("id",id);
    li.attr("id",id);    
    li.append(but);
    ul.append(li);
    jQuery("#p-personal ul").prepend(li);
}
 
 
function checkAvandSpell() {
 
	var t=jQuery("#mw-content-text").html();
	var w=separateTheWords(t);
	var k=0;
	var pw;
	var avand=[];
	for(var i in w) {
 
		pw=w[i].split('-');
		var av=JamanakakicToAvandakan(pw[0]);
 
		if(av!=pw[1]) {
			avand[k]=av;
			k++;
		}
 
	}
 
	return avand;
}
 
function checkJamSpell() {
 
	var t=jQuery("#mw-content-text").html();
	var w=separateTheWords(t);
	var k=0;
	var pw;
	var jam=[];
	for(var i in w) {
		pw=w[i].split('-');
		var av=AvandakanToJamanakakic(pw[1]);
 
		if(av!=pw[0]) {
		jam[k]=av;
		k++;
		}
	}
 
	return jam;
}
 
function checkAvandakanSpelling() {
 
	var t=jQuery("#mw-content-text").html();
	var w=separateTheWords(t);
	for(var i in w) {
                pw=w[i].split('-');
		var av=JamanakakicToAvandakan(pw[0]);
		var sp=jQuery('<span />');
 
		if(av==pw[1]) {
			sp.css("color","green");
		} else {
			sp.css("color","red");
		}
 
		sp.append(av);
 
		var modw=" ("+sp[0].outerHTML+") ";
		var rw=w[i]+modw;
		var regWC=new RegExp(w[i],"g");
		t=t.replace(regWC,rw);
	}
	jQuery("#mw-content-text").html(t);
}
 
function checkJamanakakicSpelling() {
 
	var t=jQuery("#mw-content-text").html();
	var w=separateTheWords(t);
	for(var i in w) {
		pw=w[i].split('-');
		var av=AvandakanToJamanakakic(pw[1]);
		var sp=jQuery('<span />');
 
		if(av==pw[0]) {
			sp.css("color","green");
		} else {
			sp.css("color","red");
		}
 
		sp.append(av);
		var modw=" ("+sp[0].outerHTML+") ";
		var rw=modw+w[i];
		var regWC=new RegExp(w[i],"g");
		t=t.replace(regWC,rw);
	}
	jQuery("#mw-content-text").html(t);
}
 
function separateTheWords(t) {
	var reg=new RegExp("(["+alphabet+"]+)"+"-"+"(["+alphabet+"]+)","g");
	var n=t.match(reg);
	return n;
}
 
function wordsCount() {
 
	var t=jQuery("#mw-content-text").html();
	var c=separateTheWords(t);
	return c.length;
}