МедиаУики:Gadget-translit.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 басыңыз.
/**
* Translit(eration) on-the-fly Code
* @author: [[User:GaiJin]]
* @version:
*/
/*
=== Init variables ===
*/
//0 - english, 1 - cyrillic (standard)
var layout = 1;
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("_");
// var toolbar = document.getElementById("toolbar"); //begin IF
//if ( toolbar )
//{
/*
=== Help stuff ===
*/
function openhelp()
{
var popup=window.open('','translithelp','height=250,width=750');
popup.document.write("<html><head><title>Транслит Көмегі</title></head><body>");
popup.document.write("<style>.charcorr {font-size: 13pt; font-family: Arial; letter-spacing: 0.01em; font-weight: normal; color: blue;}</style>");
popup.document.write("<font=sans-serif> Бұл транслит құралының көмек беті боп саналады.<br>Транслит арқылы қазақ пернетақтасы қол астыңызда болмаса да қазақша жаза аласыз. Бұл үшін:<br><br>");
popup.document.write("<b>1</b>.[Ctrl]+[Alt] пернелерін бірге баса отырып, енгізу әліппесін КИРИЛ мен ЛАТЫН арасында ауыстырып отырыңыз;<br>");
popup.document.write("<b>2</b>.Кирил әрібін теремін дегенде, келесі сәйкестік кестесіне ере отырып латын әріптерін кирилге аударып отырыңыз:</font><br>");
popup.document.write("<table class=charcorr border=0 cellspacing=1 cellpadding=2 valign=middle width=95%>");
popup.document.write("<tr valign=top align=center><td>a</td><td>ә</td><td>б</td><td>ц</td><td>ч</td><td>д</td><td>е</td><td>ф</td><td>г</td><td>ғ</td><td>һ</td><td>х</td><td>ы</td><td>i</td><td>ж</td><td>к</td><td>қ</td><td>л</td><td>м</td><td>н</td><td>ң</td><td>о</td><td>ө</td><td>п</td><td>р</td><td>с</td><td>ш</td><td>т</td><td>ұ</td><td>ү</td><td>в</td><td>у</td><td>й</td><td>з</td><td>э</td><td>и</td><td>ю</td><td>я</td><td>ь,ъ,щ</td>");
popup.document.write("<tr valign=bottom align=center><td>a</td><td><u>a\'</u></td><td>b</td><td>c</td><td><u>ch</u></td><td>d</td><td>e</td><td>f</td><td>g</td><td><u>gh</u></td><td>h</td><td>x</td><td><u>i\'</u></td><td>i</td><td>j</td><td>k</td><td>q</td><td>l</td><td>m</td><td>n</td><td><u>ng</u></td><td>o</td><td><u>o\'</u></td><td>p</td><td>r</td><td>s</td><td><u>sh</u></td><td>t</td><td>u</td><td><u>u\'</u></td><td>v</td><td>w</td><td>y</td><td>z</td><td><u>e\'</u></td><td><u>i\"</u></td><td><u>yu</u></td><td><u>ya</u></td><td>','',!</td></table>");
popup.document.write("</body></html>");
popup.document.close();
}
/*
=== changeLayout() ===
*/
function changeLayout(translit)
{
var textbox = document.getElementById('wpTextbox1');
if (!textbox) return false;
if (layout == 1) {
// var translit = document.getElementById('translit');
translit.value = "Ctrl+Alt Lat";
//translit.style.backgroundColor="#EEEEEE";
translit.style.borderColor="#45AA50";
translit.style.fontWeight="normal";
document.editform.wpTextbox1.focus();
return layout = 0;
} else if (layout == 0) {
// var translit = document.getElementById('translit');
translit.value = "Ctrl+Alt Cyr";
//translit.style.backgroundColor="#FFFFE0";
translit.style.borderColor="#FFA500";
translit.style.fontWeight="bold";
document.editform.wpTextbox1.focus();
return layout = 1;
}
}
/*
=== add_button() ===
*/
function add_button()
{
var toolbar = document.getElementById("toolbar");
if (!toolbar) return false;
var editform = document.getElementById('editform');
if (!editform) return false;
var textbox = document.getElementById('wpTextbox1');
if (!textbox) return false;
// Don't generate buttons for browsers which don't fully
// support it.
if (!document.selection && textbox.selectionStart == null)
return false;
var translit = document.createElement("input");
translit.width = 92;
translit.height = 22;
translit.className = 'translit';
translit.id = 'translit';
translit.type = 'button';
translit.alt = 'Теру үшін Ctrl+Alt пернелерін қосып басыңыз';
translit.title = 'Теру үшін Ctrl+Alt пернелерін қосып басыңыз';
translit.style.cursor = "pointer";
translit.onclick = function() {
changeLayout(translit);
return false;
};
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.className = 'help';
image.id = 'help';
image.src = "//upload.wikimedia.org/wikipedia/kk/9/9a/Suraq.gif";
image.border = 0;
image.alt = 'Қазақша теру анықтамасы';
image.title = 'Қазақша теру анықтамасы';
image.style.cursor = "pointer";
image.onclick = function() {
openhelp();
return false;
};
editform.parentNode.insertBefore(image, editform);
editform.parentNode.insertBefore(translit, editform);
changeLayout(translit);
document.write('<style type="text\/css">.translit {color:black; font-size:0.90em; font-variant:small-caps; text-decoration:none; border:thin outset; padding: 0 0.2em 0 0; float:right;} .help {float:right;}<\/style>');
}
/*
=== Convert(text) ===
*/
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;
}
/*
=== ConvertInRealTime() ===
*/
document.onkeypress= function ConvertInRealTime()
{
if (document.activeElement!=document.editform.wpTextbox1) return;
if (!layout) return;
//the entered character
var code = event.keyCode;
txt=String.fromCharCode(code);
//make selection
cursor_pos_selection = document.selection.createRange();
//delete something selected before
cursor_pos_selection.text="";
//get the previous character
cursor_pos_selection.moveStart("character",-1);
pretxt = cursor_pos_selection.text;
if (pretxt.length>1) {pretxt="";}
event.keyCode = 0;
result=Convert(pretxt+txt);
//delete the previous symbol if it is exists (if the entered symbol is not the first one)
if (pretxt!="") { cursor_pos_selection.select(); cursor_pos_selection.collapse();}
with(document.selection.createRange()) {text = result; collapse(); select()}
return;
}
/*
=== AkeyIsDown() ===
*/
document.onkeydown = function AkeyIsDown()
{
if (event.ctrlKey && event.altKey)
{
changeLayout(translit);
event.returnValue=false;
}
}
$(add_button);
//}
// end IF