MediaWiki:Gadget-nt.js
Заўвага: каб пабачыць зьмены пасьля публікацыі, Вам можа спатрэбіцца ачысьціць кэш Вашага браўзэра.
- Firefox / Safari: трымайце Shift і націсьніце Reload, ці націсьніце Ctrl-F5 ці Ctrl-R (⌘-R на Mac)
- Google Chrome: націсьніце Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer / Edge: трымайце Ctrl і націсьніце Refresh, ці націсьніце Ctrl-F5
- Opera: націсьніце Ctrl-F5.
/**
* «Тарашкевізатар» — канвэртар наркамаўкі ў тарашкевіцу паводле вызначаных правілаў.
* Аўтар: zedlik
* Суправаджальнік: Wizardist
*/
// messages
mw.messages.set({
'ntIncompatibleBrowser': 'Гэта функцыя ня можа працаваць у вашым браўзэры.\n\nThis feature can not work in your browser',
'ntFullTextProcessed': 'Будзе апрацаваны ўвесь тэкст. Працягнуць?',
'ntTalkPageWarning': 'Старонкі абмеркаваньня не апрацоўваюцца цалкам.\n\nВылучыце вашае паведамленьне — апрацаванае будзе толькі яно.',
'ntShortDescription': 'артаграфія',
'ntOrthographyTemplateCode': '{{Артаграфія}}',
'ntOrthographyInsertTemplateCode': '{{Артаграфія}}\n\n',
'nt-button-label': 'Выправіць артаграфію'
});
var txtNT;
var addOrthographyTemplate;
function NTButton(){
if(!mediaWiki.user.options.get('usebetatoolbar')) {
return;
}
mw.loader.using('ext.wikiEditor', function(){
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'main',
'group': 'gadgets',
'tools': {
'wikification': {
label: mw.messages.get('nt-button-label'),
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/be-x-old/e/ea/Knopka-narkamaŭka-taraškievica-vector.png',
action: {
type: 'callback',
execute: convertNT
}
}
}
} );
});
}
// main routine
function convertNT(){
if (('code'.replace(/d/g, 'r') != 'core') //check regexp support
|| (navigator.appName=='Netscape' && navigator.appVersion.substr (0, 1) < 5))
{ alert(mw.msg('ntIncompatibleBrowser')); return }
var hiddenNT = [], hidIdxNT = 0, wpTextbox1 = document.editform.wpTextbox1
var winScroll = document.documentElement.scrollTop //remember window scroll
wpTextbox1.focus()
if (typeof wpTextbox1.selectionStart != 'undefined'
&& (navigator.productSub > 20031000 || $.client.profile().name == "opera" || $.client.profile().name == "safari")) { //Mozilla/Opera/Safari3
var textScroll = wpTextbox1.scrollTop
var startPos = wpTextbox1.selectionStart
var endPos = wpTextbox1.selectionEnd
txtNT = wpTextbox1.value.substring(startPos, endPos)
if (txtNT == '') processAllTextNT()
else{
processTextNT()
wpTextbox1.value = wpTextbox1.value.substring(0, startPos) + txtNT + wpTextbox1.value.substring(endPos)
}
if (addOrthographyTemplate && wpTextbox1.value.indexOf("{{Артаграфія}}") < 0 && wpTextbox1.value.indexOf("{{артаграфія}}") < 0){
wpTextbox1.value = mw.msg('ntOrthographyInsertTemplateCode') + wpTextbox1.value;
startPos += mw.msg('ntOrthographyInsertTemplateCode').length;
}
wpTextbox1.selectionStart = startPos
wpTextbox1.selectionEnd = startPos + txtNT.length
wpTextbox1.scrollTop = textScroll
}
else
{
if (document.selection && document.selection.createRange) { //IE
var range = document.selection.createRange()
txtNT = range.text
if (txtNT == ''){
processAllTextNT()
if (addOrthographyTemplate && wpTextbox1.value.indexOf("{{Артаграфія}}") < 0 && wpTextbox1.value.indexOf("{{артаграфія}}") < 0){
wpTextbox1.value = mw.msg('ntOrthographyInsertTemplateCode') + wpTextbox1.value;
if (window.opera) {
var extraCharacters = 0;
if (navigator.platform.indexOf("Win") >= 0 || navigator.platform.indexOf("Mac") >= 0) extraCharacters = 2;
if (range.moveStart) range.moveStart('character', mw.msg('ntOrthographyInsertTemplateCode').length + extraCharacters)
range.select()
}
}
else
{
range.select()
}
}
else
{
processTextNT()
range.text = txtNT
//if (!window.opera) txtNT = txtNT.replace(/\r/g,'')
if (range.moveStart) range.moveStart('character', - txtNT.length)
if (addOrthographyTemplate && wpTextbox1.value.indexOf("{{Артаграфія}}") < 0 && wpTextbox1.value.indexOf("{{артаграфія}}") < 0){
wpTextbox1.value = mw.msg('ntOrthographyInsertTemplateCode') + wpTextbox1.value;
if (window.opera) {
var extraCharacters = 0;
if (navigator.platform.indexOf("Win") >= 0 || navigator.platform.indexOf("Mac") >= 0) extraCharacters = 2;
if (range.moveStart) range.moveStart('character', mw.msg('ntOrthographyInsertTemplateCode').length + extraCharacters)
if (range.moveEnd) range.moveEnd('character', txtNT.length)
range.select()
}
}
else {
range.select()
}
}
}
else // other browsers
{
if (confirm(mw.msg('ntFullTextProcessed'))){
processAllTextNT()
if (addOrthographyTemplate && wpTextbox1.value.indexOf("{{Артаграфія}}") < 0 && wpTextbox1.value.indexOf("{{артаграфія}}") < 0){
wpTextbox1.value = mw.msg('ntOrthographyInsertTemplateCode') + wpTextbox1.value;
}
}
}
}
document.documentElement.scrollTop = winScroll // scroll back, for IE/Opera
//functions
function processAllTextNT(){
txtNT = '\n' + wpTextbox1.value
processTextNT()
txtNT = txtNT.replace(/^[\n\r]+/, '')
wpTextbox1.value = txtNT
txtNT = ''
// if (window.auto_comment && window.insertSummary) insertSummary('вікіфікацыя')
if (window.addSumm && document.getElementById("wpSummary").value.indexOf(mw.msg('ntShortDescription')) < 0) addSumm(mw.msg('ntShortDescription'))
}
function processTextNT(){
var u = '\u00A0' //unbreakable space
if (mw.config.get('wgNamespaceNumber') % 2 || mw.config.get('wgNamespaceNumber')==4) { //is talk page
u = ' '
var sigs = txtNT.match(/\d\d:\d\d, \d\d? \S{3,8} 20\d\d \(UTC\)/g)
if (sigs && sigs.length > 1) {
alert(mw.msg('ntTalkPageWarning')); return
}
}
txtNT = ' ' + txtNT; // leading space
hideExprNT('<source [^>]+>[\\s\\S]+?<\\/source>');
hideExprNT('<gallery[^>]+>[\\s\\S]+?<\\/gallery>');
hideExprNT('(http|https|ftp|tftp|news|nntp|telnet|irc|gopher)://[^ \n\r\u00A0]* ?'); //links
hideExprNT('^ #REDIRECT') ;
hideExprNT('^ #Перанакіраваньне') ;
hideExprNT('\\[\\[[^\\]|]+') //internal links
// прыстаўкі
hideExprNT('( | |^|\n|«|\\|)ад');
hideExprNT('( | |^|\n|«|\\|)пад');
hideExprNT('( | |^|\n|«|\\|)над');
// іншамоўныя словы, зьмяненьне якіх непажадана
hideExprNT('эссе');
hideExprNT('руководст');
var sourceText = txtNT
// двойчы для словаў кшталту «сцвярджаць»
adaptTextNT()
adaptTextNT()
var textAffected = sourceText.replace(/^\s\s*/, '').replace(/\s\s*$/, '') != txtNT.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
restoreAllNT();
txtNT = txtNT.replace(/^\s/, ''); //remove leading space
// addOrthographyTemplate = textAffected;
// addOrthographyTemplate = addOrthographyTemplate && (typeof(ntPreventAddingOrthographyTemplate) == "undefined" || !ntPreventAddingOrthographyTemplate);
addOrthographyTemplate = false; // немэтазгодна
}
function hideExprNT(expr){
var ma = txtNT.match(new RegExp(expr, 'mgi'))
if (!ma) return
for (var i=0; i<ma.length; i++) {
txtNT = txtNT.replace(ma[i], '\x01' + hidIdxNT + '\x02')
hiddenNT[hidIdxNT] = ma[i]
if ('0'.replace('0','$$') == '$') //$ in 2nd arg is special even if 1st arg is a string, except in IE
hiddenNT[hidIdxNT] = hiddenNT[hidIdxNT].replace(/\$/g, '$$$$') //$ → $$, then it's converted back to $ on restore
hidIdxNT++
}
}
function hideTagNT(tag){
hideExprNT('<' + tag + '>[\\s\\S]+?<\\/' + tag + '>')
}
function restoreAllNT() {
for (var i=hidIdxNT-1; i>=0; i--)
txtNT = txtNT.replace('\x01' + i + '\x02', hiddenNT[i])
}
}
function applyRegexpNT(source, result){
r = new RegExp(source, "g");
txtNT = txtNT.replace(r, result);
}
var phrasesNT = new Array();
function addPhraseNT(source, result){
var leadingChar = source.substr(0, 1);
if( leadingChar == result.substr(0,1) ) {
source = "(" + leadingChar.toUpperCase() + "|" + leadingChar + ")" + source.substr(1);
result = "$1" + result.substr(1);
phrasesNT[phrasesNT.length] = new Array(source, result);
} else {
source1 = leadingChar.toLowerCase() + source.substr(1);
result1 = result.substr(0,1).toLowerCase() + result.substr(1);
source2 = leadingChar.toUpperCase() + source.substr(1);
result2 = result.substr(0,1).toUpperCase() + result.substr(1);
phrasesNT.push([source1, result1], [source2, result2]);
}
}
function addStartingPhraseNT(source, result){
var leadingChar = source.substr(0, 1)
source = "((?: | |\\n)(?:" + leadingChar.toUpperCase() + "|" + leadingChar + "))" + source.substr(1)
result = "$1" + result.substr(1)
phrasesNT[phrasesNT.length] = new Array(source, result);
}
function adaptTextNT(){
// усе словы мусяць быць з маленькіх літараў
// дзе трэба, пачатковая вялікая прастаўляецца аўтаматычна
// рэгулярныя выразы нельга выкарыстоўваць у якасьці
// парамэтраў функцыі addPhraseNT, для гэтага патрэбная
// іншая функцыя, якая запаўняе масіў phrasesNT бяз
// зьменаў выразаў.
addPhraseNT("абанемент", "абанэмэнт")
addPhraseNT("абанен(т|ц)", "абанэн$2")
addPhraseNT("абеліск", "абэліск");
addPhraseNT("абісін", "абісын")
addPhraseNT("акцыянер", "акцыянэр")
addPhraseNT("алфавіт", "альфабэт")
addPhraseNT("амеры(к|ц)", "амэры$2")
addPhraseNT("аналаг", "аналяг")
addPhraseNT("англійск", "ангельск")
addPhraseNT("англія", "ангельшчына")
addPhraseNT("апазіцы", "апазыцы");
addPhraseNT("апеляцы", "апэляцы");
addPhraseNT("апера(т|ц)", "апэра$2")
addPhraseNT("араві(й|я)( | |\\.|,|с)", "арабі$2$3");
addPhraseNT("аргумен", "аргумэн");
addPhraseNT("аркестр( | |\\.|,)", "аркестар$2");
addPhraseNT("арнамен", "арнамэн");
addPhraseNT("арсенал", "арсэнал")
addPhraseNT("арфаграфі", "артаграфі")
addPhraseNT("асартымен", "асартымэн")
addPhraseNT("аспект", "аспэкт")
addPhraseNT("атлант", "атлянт");
addPhraseNT("атлас", "атляс");
addPhraseNT("баланс", "балянс")
addPhraseNT("басейн", "басэйн");
addPhraseNT("біёлаг", "біёляг");
addPhraseNT("бізнес", "бізнэс");
addPhraseNT("біялаг", "біяляг");
addPhraseNT("бухгалт", "бухгальт")
addPhraseNT("ваяводс", "ваяводз")
addPhraseNT("вела(д|з|к|м|п|с)", "вэля$2");
addPhraseNT("венгерск", "вугорск");
addPhraseNT("венгрыя", "вугоршчына");
addPhraseNT("верф(і|я)", "вэрф$2");
addPhraseNT("ветэран", "вэтэран")
addPhraseNT("ветэрынар", "вэтэрынар")
addPhraseNT("візіт", "візыт");
addPhraseNT("в('|’)етнам", "віетнам");
addPhraseNT("газе(т|ц)", "газэ$2")
addPhraseNT("генера", "генэра")
addPhraseNT("губерн", "губэрн")
addPhraseNT("гуверн", "гувэрн")
addPhraseNT("гібралтар", "гібральтар")
addPhraseNT("гіпер", "гіпэр");
addPhraseNT("дакум(а|е)н", "дакумэн")
addPhraseNT("дыверсан", "дывэрсан");
addPhraseNT("дыпламат", "дыплямат");
addPhraseNT("дыплом", "дыплём");
addPhraseNT("дысерт", "дысэрт");
addPhraseNT("дэзерцір", "дэзэрцір");
addPhraseNT("еўрапе", "эўрапе")
addPhraseNT("завербава", "завэрбава");
addPhraseNT("ідэалаг", "ідэаляг");
addPhraseNT("ідэалог", "ідэалёг");
addPhraseNT("імпер", "імпэр")
addPhraseNT("інвентар", "інвэнтар")
addPhraseNT("інвест", "інвэст");
addPhraseNT("іспан", "гішпан")
addPhraseNT("каапера", "каапэра")
addPhraseNT("кабінет", "кабінэт");
addPhraseNT("калабар", "калябар");
addPhraseNT("каланіс", "каляніс");
addPhraseNT("каларыт", "калярыт")
addPhraseNT("калегіум", "калегіюм");
addPhraseNT("калон", "калён");
addPhraseNT("калоід", "калёід");
addPhraseNT("каменд", "камэнд")
addPhraseNT("камент", "камэнт")
addPhraseNT("камер", "камэр")
addPhraseNT("кампазі", "кампазы")
addPhraseNT("кампанен", "кампанэн")
addPhraseNT("кампенса", "кампэнса");
addPhraseNT("кампетэн", "кампэтэн")
addPhraseNT("канвен", "канвэн");
addPhraseNT("кансерв", "кансэрв")
addPhraseNT("канспект", "канспэкт")
addPhraseNT("канфэрен", "канфэрэн");
addPhraseNT("кафедр", "катэдр")
addPhraseNT("класн", "клясн");
addPhraseNT("класі", "клясы")
addPhraseNT("кібер", "кібэр");
addPhraseNT("лабаратор", "лябаратор");
addPhraseNT("лагер", "лягер");
addPhraseNT("лагічн", "лягічн")
addPhraseNT("ладзімір", "ладзімер")
addPhraseNT("ланд", "лянд");
addPhraseNT("ландшафт", "ляндшафт");
addPhraseNT("логі", "лёгі")
addPhraseNT("ліберал", "лібэрал");
addPhraseNT("ліберы(й|я)( | |\\.|,|с)", "лібэры$2$3");
addPhraseNT("ліван( | |\\.|,|к|с)", "лібан$2");
addPhraseNT("ліві(й|я)( | |\\.|,|с)", "лібі$2$3");
addPhraseNT("максімал", "максымал")
addPhraseNT("манумент", "манумэнт")
addPhraseNT("медал", "мэдал")
addPhraseNT("медык", "мэдык");
addPhraseNT("меліяра", "мэліяра");
addPhraseNT("мемарыял", "мэмарыял");
addPhraseNT("метад", "мэтад");
addPhraseNT("метал", "мэтал");
addPhraseNT("метр( | |\\.|,)", "мэтар$2");
addPhraseNT("метр(а|ы|у)", "мэтр$2");
addPhraseNT("метэа(р|с)", "мэтэа$2");
addPhraseNT("метэор", "мэтэор");
addPhraseNT("механ", "мэхан");
addPhraseNT("мецэна(т|ц)", "мэцэна$2");
addPhraseNT("музе(й|я|ю|і)", "музэ$2");
addPhraseNT("мэнэджмен", "мэнэджмэн");
addPhraseNT("мюнхен", "мюнхэн");
addPhraseNT("натары(у|ў)с", "натарыюс");
addPhraseNT("негаты", "нэгаты");
addPhraseNT("нейтрал", "нэўтрал");
addPhraseNT("нобелеўск", "нобэлеўск");
addPhraseNT("ніверсал", "нівэрсал");
addPhraseNT("ніверсітэ", "нівэрсытэ");
addPhraseNT("опер(а|ы)", "опэр$2");
addPhraseNT("пазіцы", "пазыцы");
addPhraseNT("парамет", "парамэт");
addPhraseNT("парламен", "парлямэн");
addPhraseNT("педаг(а|о)", "пэдаг$2");
addPhraseNT("пейзаж", "пэйзаж");
addPhraseNT("перпендыкуляр", "пэрпэндыкуляр");
addPhraseNT("персана", "пэрсана");
addPhraseNT("перспекты", "пэрспэкты");
addPhraseNT("персі(і|я)", "пэрсі$2");
addPhraseNT("персід", "пэрсыд");
addPhraseNT("перыяд", "пэрыяд")
addPhraseNT("песімі(з|с)", "пэсымі$2");
addPhraseNT("плакат", "плякат");
addPhraseNT("план", "плян")
addPhraseNT("пласты(к|ч)", "плясты$2");
addPhraseNT("платформ", "плятформ");
addPhraseNT("плафон", "пляфон");
addPhraseNT("прафес(а|і|у)", "прафэс$2")
addPhraseNT("прызёр", "прызэр")
addPhraseNT("псеўда", "псэўда");
addPhraseNT("псіх(а|і|о)", "псых$2")
addPhraseNT("піянер", "піянэр")
addPhraseNT("расі(і|ю|я)( | |\\.|,)", "расе$2$3")
addPhraseNT("расійск", "расейск")
addPhraseNT("рланд", "рлянд")
addPhraseNT("рэзерв", "рэзэрв")
addPhraseNT("рэзідэн", "рэзыдэн")
addPhraseNT("рэкаменд", "рэкамэнд")
addPhraseNT("рэклам", "рэклям")
addPhraseNT("рэфер", "рэфэр")
addPhraseNT("салон", "салён");
addPhraseNT("сезон", "сэзон")
addPhraseNT("семінар", "сэмінар")
addPhraseNT("сенат", "сэнат");
addPhraseNT("серв(а|е)", "сэрв$2");
addPhraseNT("сервіс", "сэрвіс");
addPhraseNT("сесі(і|я)", "сэсі$2");
addPhraseNT("сквер", "сквэр");
addPhraseNT("спектр( | |\\.|,)", "спэктар$2");
addPhraseNT("спектр(а|ы)", "спэктр$2");
addPhraseNT("спец( | |\\.|,|а|б|в|г|д|ж|з|і|к|л|м|н|п|с|т|у|ф|х|ц|ч|ш|ы|я|-)", "спэц$2");
addPhraseNT("стыпенд", "стыпэнд");
addPhraseNT("супер( | |\\.|,|б|в|г|д|ж|з|і|к|л|м|п|с|т|у|ф|х|ц|ч)", "супэр$2");
addPhraseNT("сфер", "сфэр")
addPhraseNT("схалас", "схаляс");
addPhraseNT("сібір", "сыбір")
addPhraseNT("сігнал", "сыгнал")
addPhraseNT("сілезі", "сылезі")
addPhraseNT("сілік(а|о)", "сылік$2");
addPhraseNT("сімв(а|о)лі", "сымб$2лі");
addPhraseNT("сімвала", "сымбаля");
addPhraseNT("сіметры", "сымэтры")
addPhraseNT("сімпат", "сымпат");
addPhraseNT("сімпт(а|о)м", "сымпт$2м");
addPhraseNT("сімуля(в|н|ц)", "сымуля$2");
addPhraseNT("сімф(а|о)ні", "сымф$2ні");
addPhraseNT("сінагог", "сынагог")
addPhraseNT("сінгапур", "сынгапур")
addPhraseNT("сіндром", "сындром");
addPhraseNT("сіндыка", "сындыка");
addPhraseNT("сінкрэт", "сынкрэт");
addPhraseNT("сінод", "сынод")
addPhraseNT("сінонім", "сынонім");
addPhraseNT("сінтакс", "сынтакс")
addPhraseNT("сінтэз", "сынтэз")
addPhraseNT("сінтэт", "сынтэт")
addPhraseNT("сінус", "сынус");
addPhraseNT("сінхр(а|о)", "сынхр$2")
addPhraseNT("сіры(й|я)", "сыры$2");
addPhraseNT("сістэм", "сыстэм")
addPhraseNT("сітуацы", "сытуацы")
addPhraseNT("сіфіліс", "сыфіліс");
addPhraseNT("сіцылі", "сыцылі");
addPhraseNT("спартсмен", "спартсмэн");
addPhraseNT("тланд", "тлянд");
addPhraseNT("транзіт", "транзыт")
addPhraseNT("трансільв", "трансыльв");
addPhraseNT("трапе(з|ц)", "трапэ$2");
addPhraseNT("тэатр( | |\\.|,)", "тэатар$2")
addPhraseNT("тэмпера", "тэмпэра")
addPhraseNT("фанеты(к|ч)", "фанэты$2");
addPhraseNT("феадал", "фэадал");
addPhraseNT("федэра(л|ц)", "фэдэра$2")
addPhraseNT("фельчар", "фэльчар")
addPhraseNT("ферэнцы", "фэрэнцы");
addPhraseNT("фізі", "фізы");
addPhraseNT("філосаф", "філёзаф");
addPhraseNT("флатылі", "флятылі")
addPhraseNT("фло(т|ц)", "флё$2");
addPhraseNT("фрагмент", "фрагмэнт")
addPhraseNT("фундамент", "фундамэнт");
addPhraseNT("цэмент", "цэмэнт")
addPhraseNT("цэнтр( | |\\.|,)", "цэнтар$2")
addPhraseNT("швед", "швэд");
addPhraseNT("экспеды", "экспэды");
addPhraseNT("эксперт", "экспэрт")
addPhraseNT("эксперымент", "экспэрымэнт")
addPhraseNT("эксплуата", "эксплюата");
addPhraseNT("эстафет", "эстафэт");
addPhraseNT("экумен", "экумэн");
addPhraseNT("элемент", "элемэнт");
addPhraseNT("энцыклапеды", "энцыкляпэды");
addPhraseNT("эфект", "эфэкт");
// зьбег шыпячых і сьвісьцячых і іншыя пераходы
addPhraseNT("дск( | |\\.|,|і|а)", "дзк$2");
addPhraseNT("гск", "ск");
addPhraseNT("дств", "дзтв");
addPhraseNT("жск", "ск");
addPhraseNT("зск", "ск");
addPhraseNT("кск(а|і)", "цк$1");
addPhraseNT("хск", "ск");
addPhraseNT("чск", "цк");
addPhraseNT("шск", "ск");
addStartingPhraseNT("без ([бвгджзклмнпрстфхцчш]{1,2})о", "бяз $2о");
addStartingPhraseNT("года( | |\\.|,)", "году$2");
addStartingPhraseNT("з ім( | |\\.|,|і)", "зь ім$2");
addStartingPhraseNT("з інш", "зь інш");
addStartingPhraseNT("з іх( | |\\.|,)", "зь іх$2");
addStartingPhraseNT("з іхн", "зь іхн");
addStartingPhraseNT("кіла", "кіля");
addStartingPhraseNT("не ([бвгджзклмнпрстфхцчш]{1,2})о", "ня $2о");
addStartingPhraseNT("не бачыў", "ня бачыў");
addStartingPhraseNT("не беглы", "ня беглы");
addStartingPhraseNT("не будзе", "ня будзе");
addStartingPhraseNT("не быў", "ня быў");
addStartingPhraseNT("не веда(е|л|ў|ць|ю)", "ня веда$2");
addStartingPhraseNT("не вельмі", "ня вельмі");
addStartingPhraseNT("не гучн(а|ы)", "ня гучн$2");
addStartingPhraseNT("не далі( | |\\.|,)", "ня далі$2");
addStartingPhraseNT("не даў( | |\\.|,)", "ня даў$2");
addStartingPhraseNT("не ёсьць", "ня ёсьць");
addStartingPhraseNT("не лепшы", "ня лепшы");
addStartingPhraseNT("не ма(е|ючы|юць)( | |\\.|,)", "ня ма$2$3");
addStartingPhraseNT("не мел(а|і)( | |\\.|,)", "ня мел$2$3");
addStartingPhraseNT("не мець", "ня мець");
addStartingPhraseNT("не меней", "ня меней");
addStartingPhraseNT("не менш", "ня менш");
addStartingPhraseNT("не меў( | |\\.|,)", "ня меў$2");
addStartingPhraseNT("не наш", "ня наш");
addStartingPhraseNT("не піш(а|у)цца( | |\\.|,)", "ня піш$2цца$3");
addStartingPhraseNT("не раз( | |\\.|,)", "ня раз$2");
addStartingPhraseNT("не рушы", "ня рушы");
addStartingPhraseNT("не ска(жа|з)", "ня ска$2");
addStartingPhraseNT("не ста(не|нуць|ў|лі)( | |\\.|,)", "ня ста$2$3");
addStartingPhraseNT("не тыя", "ня тыя");
addStartingPhraseNT("не ўвод", "ня ўвод");
addStartingPhraseNT("не ўзводз", "ня ўзводз");
addStartingPhraseNT("не ўс(е|ё)( | |\\.|,)", "ня ўс$2$3");
addStartingPhraseNT("не ўтрым", "ня ўтрым");
addStartingPhraseNT("не чуў", "ня чуў");
// ў пасьля галоснай у папярэднім слове
addStartingPhraseNT("а у", "а ў");
addStartingPhraseNT("е у", "е ў");
addStartingPhraseNT("ё у", "ё ў");
addStartingPhraseNT("і у", "і ў");
addStartingPhraseNT("о у", "о ў");
addStartingPhraseNT("ы у", "ы ў");
addStartingPhraseNT("э у", "э ў");
addStartingPhraseNT("ю у", "ю ў");
addStartingPhraseNT("я у", "я ў");
// поўныя канчаткі
//addStartingPhraseNT("(аб’ектывацы|аблігацы|абсорбцы|абстракцы|абструкцы|авары|авацы|агрэсі|адміністрацы|адукацы|акадэмі|аказі|акамадацы|акацы|актуалізацы|актывізацы|акупацы|акцы|алігархі|алітэрацы|амбіцы|амністы|амуніцы|амэрыканізацы|анатацы||англізацы|анталёгі|антыномі|антыпаты|антыўтопі|анэксі|апазыцы|аплікацы|апрабацы|апэляцы|апэрацы|апэрцэпцы|араторы|арганізацы|аргумэнтацы|армі|артыкуляцы|артэры|арцыдыяцэзі|арыентацы|асамбле|асацыяцы|асыгнацы|асыміляцы|асэнізацы|атрыбуцы|аўдыторы|аўтаматызацы|аўтанамізацы|аўтаномі|бактэры|біяграфі|бухгальтэры|вакансі|вакацы|вакцынацы|валькіры|варыяцы|вэрсі|галерэ|галюцынацы|гаранты|гартэнзі|гварды|гегемоні|генэрацы|гімназі|градацы|датацы|дывізі|дывэрсі|дынасты|дырэкцы|дыскусі|дыстанцы|дысэртацы|дыфузі|дыфэрэнцыяцы|дыяцэзі|дэвальвацы|дэгенэрацы|дэградацы|дэдыкацы|дэкарацы|дэклямацы|дэклярацы|дэлегацы|дэмакраты|дэманстрацы|дэнамінацы|дэнансацы|дэпартацы|дэпрэсі|дэпутацы|дэспаты|дэструкцы|дэталізацы|дэфініцы|заве|згра|ідылі|ідэ|ідэалізацы|ізаляцы|ілюзі|ілюмінацы|ілюстрацы|іміграцы|імітацы|імправізацы|імпрэсі|імпэры|інавацы|інвазі|інвэнтарызацы|інвэнцы|інвэрсі|інвэстыцы|інгаляцы|індэксацы|ін’екцы|ініцыяцы|інкарпарацы|інкасацы|інквізыцы|інкрустацы|інспэкцы|інсталяцы|інстанцы|інструкцы|інстытуцы|інсцэнізацы|інсынуацы|інсьпірацы|інтаксыкацы|інтанацы|інтрадукцы|інтраспэкцы|інтэграцы|інтэнцы|інтэрвэнцы|інтэрмэды|інтэрпэляцы|інтэрпрэтацы|інфармацы|інфляцы|інфузоры|інфэкцы|кааліцы|каапэрацы|кадэнцы|калегі|калекцы|калёні|калёры|калізі|калянізацы|камбінацы|камісі|кампазыцы|кампані|кампіляцы|камплекцы|камплікацы|кампрамэтацы|кампэнсацы|кампэтэнцы|камунікацы|камуні|камэды|каналізацы|кананізацы|канатацы|канвалі|канвульсі|канвэнцы|кандыцы|канстатацы|канструкцы|канстытуцы|кансультацы|кансысторы|кансэрваторы|кансэрвацы|кантамінацы|кантрыбуцы|кантузі|канфігурацы|канфіскацы|канфэрэнцы|канфэсі|канцыляры|канцэпцы|канцэсі|каранацы|карпарацы|карэкцы|карэспандэнцы|катэгоры|кваліфікацы|квінтэсэнцы|квітанцы|клясыфікацы|копі|кульмінацы|кумпані|легалізацы|лекцы|ліквідацы|ліле|ліні|літаграфі|ліцэнзі|лябараторы|лякалізацы|мабілізацы|магі|мадуляцы|мадыфікацы|мадэрнізацы|манаграфі|манаполі|манархі|маніпуляцы|маніфэстацы|матывацы|міграцы|місі|містыфікацы|містэры|міталёгі|мітраполі|мумі|мутацы|мэдытацы|мэлёды|мэтраполі|навацы|надзе|намінацы|нацы|нацыяналізацы|нумарацы|нутры|онталёгі|падзе|пазыцы|палюцы|панацэ|парафі|пароды|партупэ|парты|патрыярхі|патэнцы|пашпартызацы|паэзі|пігмэнтацы|піцэры|плянтацы|правакацы|правінцы|прагрэсі|прадукцы|праекцы|прапорцы|пратэкцы|прафэсі|працэсі|прэзумпцы|прэзэнтацы|прэтэнзі|публікацы|пэленгацы|пэрсаніфікацы|пэртрактацы|пэрыпэты|пэрыфэры|пэрыядызацы|пэтыцы|рапсоды|ратацы|ратыфікацы|рацы|рэакцы|рэалізацы|рэалі|рэвалюцы|рэвізі|рэгабілітацы|рэгалі|рэгенэрацы|рэгістрацы|рэдакцы|рэзалюцы|рэзыдэнцы|рэзэрвацы|рэкамэндацы|рэквізыцы|рэлігі|рэлікві|рэляцы|рэмінісцэнцы|рэпарацы|рэпатрыяцы|рэпрэсі|рэпэтыцы|рэстарацы|рэстаўрацы|рэфлексі|рэцэнзі|санкцы|скумбры|спэкцы|спэцыялізацы|стады|стандартызацы|станцы|стату|стратэгі|структурызацы|студы|стылізацы|стымуляцы|стыпэнды|стыхі|сублімацы|субсыды|сыміляцы|сымпаты|сымфоні|сытуацы|сэкцы|сэнсацы|сэнтэнцы|сэры|сэсі|традыцы|траекторы|транскрыпцы|трансплянтацы|трансфармацы|трансьлітарацы|трансьляцы|траншэ|трапэцы|трэпанацы|турбацы|тэлевізі|тэндэнцы|тэоры|тэрмінацы|тэрыторы|тэхналёгі|узурпацы|уніфікацы|уні|утопі|фабрыкацы|фальсыфікацы|фамілі|фантазі|фантасмагоры|фармацы|фартыфікацы|фартэцы|фатаграфі|фізіяномі|фіксацы|фікцы|філі|флексі|флятылі|фобі|фракцы|фрустрацы|фундацы|функцы|фуры|фэдэрацы|фэеры|фэкалі|харты|храналёгі|хрэстаматы|цывілізацы|цыркуляцы|цырымоні|эвакуацы|эвалюцы|эвангелізацы|экзэкуцы|экранізацы|эксгумацы|экскурсі|экспазыцы|экспансі|эксплёатацы|эксплікацы|экспэдыцы|экстрапаляцы|элегі|эміграцы|эмісі|эмоцы|эмпірэ|энцыкляпэды|эпапе|эпідэмі|эпітафі|эрозі|эсэнцы|этнаэоры)й( | |\\.|,)", "$2яў$3");
for (i = 0; i < phrasesNT.length; i++){
applyRegexpNT(phrasesNT[i][0], phrasesNT[i][1])
}
txtNT = txtNT.replace(/((?:(?:Д|д)з)|З|з|С|с)(б|в|л|м|н|п|ф|с|з|ц|дз)(е|ё|ю|я|і|ь)/g, '$1ь$2$3')
txtNT = txtNT.replace(/(З|з)(’|')(е|ё|ю|я|і)/g, '$1ь$3')
txtNT = txtNT.replace(/((?:Д|д)з)(в)(е|ё|ю|я|і|ь)/g, '$1ь$2$3')
txtNT = txtNT.replace(/(Ц|ц)(в)(е|ё|ю|я|і|ь)/g, '$1ь$2$3')
txtNT = txtNT.replace(/(лл)(е|ё|ю|я|і|ь)/g, 'льл$2')
txtNT = txtNT.replace(/(нн)(е|ё|ю|я|і|ь)/g, 'ньн$2')
txtNT = txtNT.replace(/(зз)(е|ё|ю|я|і|ь)/g, 'зьз$2')
txtNT = txtNT.replace(/(цц)(е|ё|ю|я|і|ь)/g, 'цьц$2')
txtNT = txtNT.replace(/(сс)(е|ё|ю|я|і|ь)/g, 'сьс$2')
txtNT = txtNT.replace(/(ддз)(е|ё|ю|я|і|ь)/g, 'дзьдз$2')
txtNT = txtNT.replace(/( | |^|\\n|')(З|з)( | )(б|в|л|м|н|п|ф)(е|ё|ю|я|і)/gm, '$1$2ь$3$4$5')
txtNT = txtNT.replace(/( | |^|\\n|')(З|з)( | )(з|с|ц|дз)(е|ё|ю|я|і|ь)/gm, '$1$2ь$3$4$5')
txtNT = txtNT.replace(/( | |^|\\n|')(З|з)( | )(е|ё|ю|я)/gm, '$1$2ь$3$4')
txtNT = txtNT.replace(/( | |^|\\n|')((?:П|п)раз)( | )(б|в|л|м|н|п|ф)(е|ё|ю|я|і)/gm, '$1$2ь$3$4$5')
txtNT = txtNT.replace(/( | |^|\\n|')((?:П|п)раз)( | )(з|с|ц|дз)(е|ё|ю|я|і|ь)/gm, '$1$2ь$3$4$5')
txtNT = txtNT.replace(/( | |^|\\n|')((?:П|п)раз)( | )(е|ё|ю|я)/gm, '$1$2ь$3$4')
txtNT = txtNT.replace(/( | |^|\\n|')((?:Б|б)(?:е|я)з)( | )(б|в|л|м|н|п|ф)(е|ё|ю|я|і)/gm, '$1$2ь$3$4$5')
txtNT = txtNT.replace(/( | |^|\\n|')((?:Б|б)(?:е|я)з)( | )(з|с|ц|дз)(е|ё|ю|я|і|ь)/gm, '$1$2ь$3$4$5')
txtNT = txtNT.replace(/( | |^|\\n|')((?:Б|б)(?:е|я)з)( | )(е|ё|ю|я)/gm, '$1$2ь$3$4')
txtNT = txtNT.replace(/( | |^|\\n|')((?:Ц|ц)ераз)( | )(б|в|л|м|н|п|ф)(е|ё|ю|я|і)/gm, '$1$2ь$3$4$5')
txtNT = txtNT.replace(/( | |^|\\n|')((?:Ц|ц)ераз)( | )(з|с|ц|дз)(е|ё|ю|я|і|ь)/gm, '$1$2ь$3$4$5')
txtNT = txtNT.replace(/( | |^|\\n|')((?:Ц|ц)ераз)( | )(е|ё|ю|я)/gm, '$1$2ь$3$4')
}
$('#wpTextbox1').on('wikiEditor-toolbar-buildGroup-gadgets', function(event){
NTButton();
});
// </nowiki></pre>