МедиаУики:Translitmoz.js
Ескерту: жариялаудан кейін өзгертістерді көру үшін браузеріңіздің кэшін тазарту керек болуы мүмкін.
- Firefox / Safari: Reload басқанда Shift ұстап тұрыңыз немесе Ctrl-F5 не Ctrl-R басыңыз (Mac-та ⌘-R)
- Google Chrome: Ctrl-Shift-R басыңыз (Mac-та ⌘-Shift-R)
- Internet Explorer / Edge: Жаңарту дегенді басқанда Ctrl ұстап тұрыңыз немесе Ctrl-F5 басыңыз
- Opera: Ctrl-F5 басыңыз.
/*
See also:
* [[MediaWiki:Monobook.js]]
* [[MediaWiki:Onlyifediting.js]]
* [[MediaWiki:Translit.js]]
== Translit Code ==
<pre>
*/
/*
</pre>
/*
</pre>
=== Init variables ===
<pre>
*/
var output_array = ("А_Ә_Б_Ц_Ч_Д_Е_Ф_Г_Ғ_Ы_І_И_Ж_К_Қ_Л_М_Н_Ң_О_Ө_П_Р_С_Ш_Т_Ұ_Ү_В_У_Х_Й_З_Э_Ю_Я_а_ә_б_ц_ч_цһ_д_е_ф_г_ғ_гһ_һ_ы_і_и_ж_к_л_м_н_ң_нг_о_ө_п_қ_р_с_ш_т_ұ_ү_в_у_х_й_з_э_ю_я_Ч_Ғ_Ң_Ш_Ю_Я_Ә_Э_Ы_Ө_Ү_ә_э_ы_ө_ү_ь_ь_ъ_ъ_щ").split("_");
var input_array = ("A_А'_B_C_Цh_D_E_F_G_Гh_І'_I_І\"_J_K_Q_L_M_N_Нg_O_О'_P_R_S_Сh_T_U_Ұ'_V_W_X_Y_Z_Е'_Йu_Йa_a_а'_b_c_цh_цH_d_e_f_g_гh_гH_h_і'_i_і\"_j_k_l_m_n_нg_нG_o_о'_p_q_r_s_сh_t_u_ұ'_v_w_x_y_z_е'_йu_йa_ЦH_ГH_НG_СH_ЙU_ЙA_А`_Е`_І`_О`_Ұ`_а`_е`_і`_о`_ұ`_'_`_ь'_ь`_!").split("_");
//0 - english, 1 - cyrillic
var language=0;
var prelanguage=0;
var textareafontsize = 14;
var textreafontwidth = 7;
/*
</pre>
=== add_button() ===
<pre>
*/
function add_button()
{
var toolbar = document.getElementById('toolbar');
if (!toolbar) return false;
/* var translit_help = document.createElement("img");
translit_help.src = "//upload.wikimedia.org/wikipedia/kk/9/9a/Suraq.gif";
translit_help.id = 'translit_help';
translit_help.title = 'Қазақша теру анықтамасы';
translit_help.className = 'translit_helpbut';
translit_help.onclick = function() { openhelp(); return false; }
toolbar.appendChild(translit_help);
*/
var translit = document.createElement("input");
translit.type = 'button';
translit.name = 'lang';
translit.id = 'lang';
translit.title = 'Теру үшін Ctrl+Alt пернелерін қосып басыңыз';
// translit.className = 'translitbutton';
translit.onclick = changelanguage;
toolbar.appendChild(translit);
//changelanguage();
}
/*
</pre>
=== translate_letter ===
<pre>
*/
/*
function translate_letter(evnt)
{
var code = void 0;
var code = evnt.charCode ? evnt.charCode : void 0;
if (!evnt.which)
{
return true;
}
if (code&&code>33&&(!(evnt.ctrlKey||evnt.altKey)))
{
if (evnt.preventDefault)
{
evnt.preventDefault();
}
txt = String.fromCharCode(code);
tt = window.document.editform.wpTextbox1;
var pretxt = tt.value.substring(0, tt.selectionStart);
var result = "";
var pXpix = tt.scrollTop;
var pYpix = tt.scrollLeft;
if (language) result = Convert(txt);
var therest = tt.value.substr(tt.selectionEnd);
tt.value = result+therest;
tt.setSelectionRange(result.length,result.length);
var vv = therest.search(/[\n\s]/);
var r = laststringlength(result)*(textreafontwidth+1)-pYpix-tt.clientWidth/2;
var dd = Math.abs(2*r)<tt.clientWidth?0:r-tt.clientWidth/2*(r>0?1:-1);
tt.scrollLeft = pYpix+dd+(dd==0?0:(dd>0)?2:-textreafontwidth-1);
r = (nofstrings(result+(vv==-1?therest:therest.substring(0, vv)),tt.clientWidth, textreafontwidth)-0.5)*(textareafontsize+3)-pXpix-tt.clientHeight/2;
tt.scrollTop = pXpix+(Math.abs(2*r)<(tt.clientHeight-textareafontsize-3)?0:r-(tt.clientHeight-textareafontsize-3)/2*(r>0?1:-1));
setfoc();
}
return false;
}
*/
/*
</pre>
=== AkeyIsDown() ===
<pre>
*/
/*
document.onkeydown = function AkeyIsDown()
{
if (event.ctrlKey && event.altKey) {changelanguage();event.returnValue=false;}
}
*/
/*
</pre>
=== changelanguage() ===
<pre>
*/
/*
function changelanguage()
{
var textbox = document.getElementById('wpTextbox1');
if (!textbox) return false;
var lang = document.getElementById('lang');
if (language == 1) {
lang.value = "Ctrl+Alt Lat";
//lang.style.background-color="#C8E6CC";
//lang.style.border-color="#45AA50";
document.editform.wpTextbox1.focus();
return language = 0;
} else if (language == 0) {
lang.value = "Ctrl+Alt Cyr";
//lang.style.background-color="#FFFFE0";
//lang.style.border-color="#FFA500";
document.editform.wpTextbox1.focus();
return language = 1;
}
}
*/
/*
</pre>
=== Convert(text) ===
<pre>
*/
/*
function Convert(text)
{
var i,text1;
for(i=0;i<output_array.length;i++)
if(text==input_array[i]) return output_array[i];
text1=text.substr(1,1);
for(i=0;i<output_array.length;i++)
if(text1==input_array[i]) return text.substr(0,1)+output_array[i];
return text;
}
*/
/*
</pre>
=== Run the code ===
<pre>
*/
addLoadEvent(add_button);
/*
</pre>
*/