குறிப்பு - சேமித்த பின்னர், நீங்கள் செய்த மாற்றங்களைக் காண்பதற்கு உங்கள் உலவியின் இடைமாற்று அகற்றப்பட வேண்டும்.

  • மொஸில்லா பயர்பாக்ஸ் / சபாரி: Shift+Reload, அல்லது Ctrl-F5 அல்லது Ctrl-R (⌘-R Mac ல்)
  • கூகிள் குரோம் Ctrl-Shift-R அழுத்தவும். (⌘-Shift-R Mac ல்) ;
  • இண்டர்நெட் எக்ஸ்ப்ளோரர்: Ctrl-Refresh அல்லது Ctrl-F5 ஐ அழுத்தவும்.
  • ஒபேரா: Tools → Preferences இல் இடைமாற்றை அகற்றவும்;
/* Please don't change the below code unless any new requirement or any issue. */
var txt;
var customizeToolbar = function () {
	txt = $('#wpTextbox1');
	txt.wikiEditor('addToToolbar', {
		'sections' : {
			'interWikiLinkerDev' : {
				'type' : 'toolbar',
				'label' : 'விக்சனரி2',
				'groups' : {
					'insert3' : {
						'tools' : {
							'addNumberedList' : {
								labelMsg : 'எண்களுடன் உள்ள வரிசையாக மாற்றுக',
								type : 'button',
								icon : '//upload.wikimedia.org/wikipedia/commons/8/8e/Toolbaricon_bolditalic_H.png',
								action : {
									type : 'callback',
									execute : function (context) {
										var listSymbol = '#';
										addRemoveList(txt,listSymbol, txt.val().indexOf(listSymbol));
									}
								}
							},
							'formatMLDictionaryText' : {
								labelMsg : 'சென்னை பல்கலைகழக அகராதி பத்தியை',
								type : 'button',
								icon : '//upload.wikimedia.org/wikipedia/commons/4/4a/Norwegian_template_sign.png',
								action : {
									type : 'callback',
									execute : function (context) {
										formatMLDictionaryText(txt);
									}
								}
							}
						}
					}
				}
			}
		}
	});
};

/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar*/
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
	mw.loader.using('user.options', function () {
		if (mw.user.options.get('usebetatoolbar')) {
			mw.loader.using('ext.wikiEditor', function () {
				$(document).ready(customizeToolbar);
			});
		}
	});
}

function addRemoveList(inputText, listSymbol, addOrRemove) {
	var txtBxVal = cleanText(inputText);
	if( addOrRemove == -1 || addOrRemove > 0 ) {//add
		txtBxVal = txtBxVal.replace(/^(\s*)(.*)$/gim, listSymbol+'$2');//trim left and add the list symbol
	}
	else {//remove
		txtBxVal = txtBxVal.replace(/^\#(.*)$/gim, '$1');
	}

	inputText.val(txtBxVal);
}

function formatMLDictionaryText(inputText) {
	var txtBxVal = cleanText(inputText);
	var arrayOfMappings = mappingsText;
	for (var i = 0; i < arrayOfMappings.length; i++) {
		var keyValuePair = arrayOfMappings[i].trim();
		if(keyValuePair.length > 0) {
			var delimiter = '~';
			var keyValueArray = keyValuePair.split(delimiter);
			var key = keyValueArray[0].trim();
			if(key.length > 0) {
				if(keyValueArray.length == 1) {
					txtBxVal = txtBxVal.replace(new RegExp(escapeRegExp('{{'+key+'}}'), 'gim'), key);
					txtBxVal = txtBxVal.replace(new RegExp(escapeRegExp(key), 'gim'), '{{'+key+'}}');
				}
				else {
					var value = keyValueArray[1].trim();
					txtBxVal = txtBxVal.replace(new RegExp(escapeRegExp(key), 'gim'), value);
				}
			}
		}
	}

	txtBxVal = txtBxVal.replace(/[;]\s*/gm, '.\r\n');
	txtBxVal = txtBxVal.replace(/^(.+)\s*([0-9]+\. )/gm, '$1\r\n#');
	txtBxVal = txtBxVal.replace(/^(.+)\s+(\([a-z]+\) )/gm, '$1\r\n$2');

	inputText.val(txtBxVal);
}

function cleanText(inputText) {
	var txtBxVal = inputText.val().trim();

	txtBxVal = txtBxVal.replace(/[ ]{2,}/gm, ' ');// replace multiple space to single space
	txtBxVal = txtBxVal.replace(/[ ]{1,}([\u0B95-\u0BBD][\u0BCD])/gm, '$1');//delete the extra space generated before Tamil consonant in Tamil99 keyboard layout
	txtBxVal = txtBxVal.replace(/(\[)(\s*)(\[)(.*)(\])(\s*)(\])/gm, '$1$3$4$5$7');// delete unnecessary space
	txtBxVal = txtBxVal.replace(/(\{)(\s*)(\{)(.*)(\})(\s*)(\})/gm, '$1$3$4$5$7');// delete unnecessary space

	var arrayOfLines = txtBxVal.replace(/\r\n|\n\r|\n|\r/g,'\n').split('\n');
	for (var i = 0; i < arrayOfLines.length; i++) {
		arrayOfLines[i] = arrayOfLines[i].trim();
	}
	txtBxVal = arrayOfLines.join('\r\n');

	return txtBxVal;
}

function escapeRegExp(string) {
	return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, '\\$1');
}
"https://ta.wiktionary.org/w/index.php?title=பயனர்:ச.பிரபாகரன்/wikt.js&oldid=1832355" இலிருந்து மீள்விக்கப்பட்டது