Pengguna:Algazel/rumikpdjawi.js
Catatan: Selepas menyiarkan perubahan, anda mungkin perlu memintas cache pelayar untuk melihatnya.
- Firefox / Safari: Tahan Shift sambil mengklik Reload, atau tekan sama ada Ctrl-F5 atau Ctrl-R (⌘-R pada Mac)
- Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R pada Mac)
- Internet Explorer / Edge: Tahan Ctrl sambil mengklik Refresh, atau tekan Ctrl-F5
- Opera: Tekan Ctrl-F5.
// Using Javascript/r_to_j.js
// Skrip asal: Pengguna:Kurniasan/rumikpdjawi.js
// + anotasi skrip
// Import kamus
if (typeof(kamus) === "undefined") {
importScript('User:' + wgUserName + '/kamusrumikpdjawi.js');
if (typeof(kamus) === 'undefined')
importScript("Pengguna:Algazel/kamusrumikpdjawi.js");
importScript("Pengguna:Malaysiaboy/kamusrumikpdjawi.js");
}
/// Kod ini tidak bekerja ///
//importScript("Pengguna:Algazel/kamusrumikpdjawi.js");
//importScript("Pengguna:Malaysiaboy/kamusrumikpdjawi.js");
// Guna 'lint' laman ini
// Guna 'function expression'
// Pasang Checkbox
if (wgNamespaceNumber === 0) {
var cache = null;
$( "#p-namespaces ul" ).append( '<li id="ca-nstab-rkj"><span>' +
'<a><input id="togol-rkj" type="checkbox"></a>' +
'<a><label for="togol-rkj">Papar dalam Jawi</label></a>' +
'</span></li>' );
// Kelakuan Checkbox
$( "#togol-rkj" ).click( function() {
if ($( this ).attr( "checked" ) === 'checked') {
if (cache === null) {
cache = $( "#mw-content-text").html();
}
var k = Object.keys(kamus);
var sfxs = Object.keys(imbuhanAwalan);
var pfxs = Object.keys(imbuhanAkhiran);
var convertToJawi = function(src, no_recursive) {
var re1 = new RegExp("\\b" + src + "\\b");
if (kamus[src] !== null) {
src = src.replace(re1, kamus[src]);
}
else if (no_recursive !== true) {
for (var i in pfxs) {
var re2 = new RegExp("\\b(\\w+)(" + pfxs[i] + ")\\b");
if (src.match(re2) !== null) {
src = src.replace(re2, prefixProcessor);
}
}
}
return src;
}; // end convert to jawi
var suffixProcessor= function(a,b,c) {
var d = convertToJawi(c);
if (d === c) {
return a;
}
return imbuhanAwalan[b.toLowerCase()] + d;
};
var prefixProcessor = function(a,b,c) {
var d = convertToJawi(b, true);
if (d === b) {
return a;
}
return d + imbuhanAkhiran[c];
};
var c_i_p= function(w) {
/* Return case insensitive pattern */
return '[' + w[0].toUpperCase() + w[0] + ']' + w.slice(1);
};
$( "#mw-content-text" ).contents().map( function recursive() {
var cs = $( this ).contents();
if (cs.length > 0) {
cs.map( recursive);
}
else {
var s = this.textContent;
for (var i in k) {
var re = new RegExp('\\b' + c_i_p(k[i]) + '\\b', 'g');
s = s.replace(re, kamus[k[i]]);
}
for (i in sfxs) {
var reSfxs = new RegExp('(\\b' + c_i_p(sfxs[i]) + ')(\\w+)\\b', 'g');
s = s.replace(reSfxs, suffixProcessor);
}
this.textContent = s;
}
} );
$( "#mw-content-text" ).attr('dir', 'rtl').attr('class', 'mw-content-rtl');
}
else if (cache !== null) {
$( "#mw-content-text" ).attr('dir', 'ltr').attr('class', 'mw-content-ltr').html(cache);
cache = null;
}
} ); // end togol
}