Ulanyjy:Prince Kassad~tkwiki/monobook.js
Bellik: Ýazdyranyňyzdan soň, üýtgeşmeleri görmek üçin brauzeriňiziň keşini arassalaň: Mozilla / Firefox / Safari: Shift-e basyp, Reload-a tyklaň ýa-da ýa Ctrl-F5-e ýa-da Ctrl-R-a basyň (Mac üçin Command-R); Konqueror: Reload-a tyklaň ýa-da F5-e basyň; Opera: Gurallar → Ileri tutmalardan keşi arassalaň; Internet Explorer: Ctrl-a basyp, Refresh-i tyklaň ýa-da Ctrl-F5-e basyň.
//JavaScript - Latin <-> Cyrillic converter
//based on code by [[de:Benutzer:Fomafix]], [[en:User:AzaToth]], [[en:User:R. Koot]] and [[de:Benutzer:Arnomane]]
//licensed under the GFDL
//initalize variable
var LatnOrCyrl;
var Cyrls = [
[ "\u0041", "\u0410"],
[ "\u0042", "\u0411"],
[ "\u00c7", "\u0427"],
[ "\u0044", "\u0414"],
[ "\u0045", "\u0415"],
[ "\u00c4", "\u04d8"],
[ "\u0046", "\u0424"],
[ "\u0047", "\u0413"],
[ "\u0048", "\u0425"],
[ "\u0049", "\u0418"],
[ "\u004a", "\u0496"],
[ "\u017d", "\u0416"],
[ "\u004b", "\u041a"],
[ "\u004c", "\u041b"],
[ "\u004d", "\u041c"],
[ "\u004e", "\u041d"],
[ "\u0147", "\u04a2"],
[ "\u004f", "\u041e"],
[ "\u00d6", "\u04e8"],
[ "\u0050", "\u041f"],
[ "\u0052", "\u0420"],
[ "\u0053", "\u0421"],
[ "\u015e", "\u0428"],
[ "\u0054", "\u0422"],
[ "\u0055", "\u0423"],
[ "\u00dc", "\u04ae"],
[ "\u0057", "\u0412"],
[ "\u0059", "\u042b"],
[ "\u00dd", "\u0419"],
[ "\u005a", "\u0417"],
[ "\u0061", "\u0430"],
[ "\u0062", "\u0431"],
[ "\u00e7", "\u0447"],
[ "\u0064", "\u0434"],
[ "\u0065", "\u0435"],
[ "\u00e4", "\u04d9"],
[ "\u0066", "\u0444"],
[ "\u0067", "\u0433"],
[ "\u0068", "\u0445"],
[ "\u0069", "\u0438"],
[ "\u006a", "\u0497"],
[ "\u017e", "\u0436"],
[ "\u006b", "\u043a"],
[ "\u006c", "\u043b"],
[ "\u006d", "\u043c"],
[ "\u006e", "\u043d"],
[ "\u0148", "\u04a3"],
[ "\u006f", "\u043e"],
[ "\u00f6", "\u04e9"],
[ "\u0070", "\u043f"],
[ "\u0072", "\u0440"],
[ "\u0073", "\u0441"],
[ "\u015f", "\u0448"],
[ "\u0074", "\u0442"],
[ "\u0075", "\u0443"],
[ "\u00fc", "\u04af"],
[ "\u0077", "\u0432"],
[ "\u0079", "\u044b"],
[ "\u00fd", "\u0439"],
[ "\u007a", "\u0437"],
];
function go_to_cyrl(str)
{
for (var i = 0 ; i < Cyrls.length; i++) {
var re = new RegExp(Cyrls[i][0], 'gm');
str = str.replace(re,Cyrls[i][1]);
}
return str;
}
function go_to_latn(str)
{
for (var i = 0 ; i < Cyrls.length; i++) {
var re = new RegExp(Cyrls[i][1], 'gm');
str = str.replace(re,Cyrls[i][0]);
}
return str;
}
function traverse_cyrl (node) {
if (node.nodeType == 3) {
node.data = go_to_cyrl(node.data);
} else {
for (var i=0; i<node.childNodes.length; i++) {
if ((node.id != 'wpTextbox1'))
traverse_cyrl(node.childNodes[i]);
}
}
}
function traverse_latn (node) {
if (node.nodeType == 3) {
node.data = go_to_latn(node.data);
} else {
for (var i=0; i<node.childNodes.length; i++) {
if ((node.id != 'wpTextbox1'))
traverse_latn(node.childNodes[i]);
}
}
}
function to_cyrl()
{
// if we transliterated to Cyrillic already, skip these steps
if (LatnOrCyrl != 1) {
var node = document.getElementsByTagName('body')[0];
document.title = go_to_cyrl(document.title);
traverse_cyrl(document.getElementById('content'));
traverse_cyrl(document.getElementById('p-navigation'));
traverse_cyrl(document.getElementById('p-search'));
traverse_cyrl(document.getElementById('p-tb'));
traverse_cyrl(document.getElementById('p-cactions'));
traverse_cyrl(document.getElementById('p-personal'));
//once everything's done, set important switches
LatnOrCyrl = 1;
}
}
function to_latn()
{
// if we transliterated to Latin already, skip these steps
if (LatnOrCyrl != 0) {
var node = document.getElementsByTagName('body')[0];
document.title = go_to_latn(document.title);
traverse_latn(document.getElementById('content'));
traverse_latn(document.getElementById('p-navigation'));
traverse_latn(document.getElementById('p-search'));
traverse_latn(document.getElementById('p-tb'));
traverse_latn(document.getElementById('p-cactions'));
traverse_latn(document.getElementById('p-personal'));
//once everything's done, set important switches
LatnOrCyrl = 0;
}
}
function AddCyrlTab() {
try {
var Cyrlnode = document.getElementById( "p-cactions" )
.getElementsByTagName('div')[0]
.getElementsByTagName('ul')[0];
var CyrlaNode = document.createElement( 'a' );
var CyrlliNode = document.createElement( 'li' );
CyrlaNode.appendChild( document.createTextNode( 'Cyrillic' ) );
CyrlaNode.setAttribute( 'href' , 'javascript:to_cyrl()' );
CyrlliNode.appendChild( CyrlaNode );
CyrlliNode.setAttribute( 'id' , 'translit_tocyrl' );
Cyrlnode.appendChild( CyrlliNode );
} catch(e) {
// lets just ignore what's happened
return;
}
}
function AddLatnTab() {
try {
var Latnnode = document.getElementById( "p-cactions" )
.getElementsByTagName('div')[0]
.getElementsByTagName('ul')[0];
var LatnaNode = document.createElement( 'a' );
var LatnliNode = document.createElement( 'li' );
LatnaNode.appendChild( document.createTextNode( 'Latin' ) );
LatnaNode.setAttribute( 'href' , 'javascript:to_latn()' );
LatnliNode.appendChild( LatnaNode );
LatnliNode.setAttribute( 'id' , 'translit_tolatn' );
Latnnode.appendChild( LatnliNode );
} catch(e) {
// lets just ignore what's happened
return;
}
}
$(AddCyrlTab);
$(AddLatnTab);