Ծանուցում. Հիշելուց հետո կատարված փոփոխությունները տեսնելու համար մաքրեք ձեր զննարկիչի հիշապահեստը. Mozilla / Firefox / Safari՝ Ctrl+Shift+R (Cmd+Shift+R Mac OS X-ում) Konqueror՝ F5 Opera՝ Tools→Preferences ընտրացանկից։ Internet Explorer՝ Ctrl+F5

/**
 * Armenian Orthography Converter 2.0.7
 * From https://github.com/instigatetcf/armenian-orthography-converter-wikipedia/blob/master/dest/mashtots-wiki.js
 */

(function (window, exports) {
    'use strict';

    var vowel, sonant, alphabet, alphabetWithoutH, alphabetWithoutAOJ,
        end, start, data,
        errorCorrectionSovietToMashtots, errorCorrectionSovietToMashtotsInTheWord,
        errorCorrectionMashtotsToSovietInTheWord, errorCorrectionMashtotsToSoviet,
        wordsParts, mashtots;

    vowel = 'ԱԵԷԸԻՈՕաեիէըոօ';
    sonant = 'ԲԳԴԶԹԺԼԽԾԿՀՁՂՃՄՅՆՇՉՊՋՌՍՎՏՐՑՓՔՖբգդզթժլխծկհձղճմյնշչպջռսվտրցւփքֆ';
    alphabet = 'ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔևՕՖաբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆ';
    alphabetWithoutH = 'ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔևՕՖաբգդեզէըթժիլխծկձղճմյնշոչպջռսվտրցւփքօֆ';
    alphabetWithoutAOJ = 'ԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՆՇՉՊՋՌՍՎՏՐՑՒՓՔևՕՖբգդեզէըթժիլխծկհձղճմնշչպջռսվտրցւփքօֆ';
    end = '[^' + alphabet + '՞՜]|$';
    start = '[^' + alphabet + ']|^';
    data = [
        // Բառմիջում և բառավերջում ա, ե, ի ձայնավորներից հետո վ լսվելիս գրվում է ւ  // սա իրա մեջ ներառում է //  բառավերջում կամ ձայնավորից առաջ    իվ -> իւ
        [
            '([աեիԱԵԻ])վ',
            '$1ւ',
            '([աեիԱԵԻ])ւ',
            '$1վ'
        ],
        //  և - եւ
        [
            'և',
            'եւ',
            'եւ',
            'և'
        ],
        // բաղաձայնից առաջ    յու -> իւ
        [
            '([^' + vowel + ']|' + start + ')յու([' + sonant + '])',
            '$1իւ$2',
            '([^' + vowel + ']|' + start + ')իւ([' + sonant + '])',
            '$1յու$2'
        ],
        // TODO: ո -ից հետո վ -> ւ չի դառնում
        //
        // բարդ բառերում եթե երկրորդ բառը սկսվում է վ տառով, ապա վ մնում է,
        // օր․ ՝  պատմավէպ, կարեվէր, անվերջ
        // այս կետը բաց է մնում
        //
        //  ա, ե, է, ի, ո  ձայնավորներից առաջ, բաղաձայնից և յ կիսաձայնից հետո  վ -> ու
        [
            '([' + sonant + 'յ])վ([աեէիո])',
            '$1ու$2',
            '([' + sonant + 'յ])ու([աեէիո])',
            '$1վ$2'
        ],
        // բառավերջի ե -> է
        [
            '([' + alphabet + '])ե(' + end + ')',
            '$1է$2',
            '([' + alphabet + '])է(' + end + ')',
            '$1ե$2'
        ],
        // ույ -> ոյ    բոլոր իմ տեսած օրինակներում ույ-գտնվում է բաղաձայների մեջ, ինչպես նաև խուսափում ենք այնպիսի ոյան ազգանունների փոփոխելուց
        [
            '([' + sonant + '])ույ([' + sonant + '])',
            '$1ոյ$2',
            '([' + sonant + '])ոյ([' + sonant + '])',
            '$1ույ$2'
        ],
        // յա -> եա  /բայց ոչ բառասկզբում և ոչ ա, ո-ից հետո + յ տառից հետո
        [
            '([' + alphabetWithoutAOJ + '])յա',
            '$1եա',
            '([' + alphabetWithoutAOJ + '])եա',
            '$1յա'
        ],
        // յո -> եօ
        [
            'յո([^ւ])',
            'եօ$1',
            'եօ',
            'յո'
        ],
        // յո -> եօ
        [
            'Յո([^ւ])',
            'Եօ$1',
            'Եօ',
            'Յո'
        ],
        // բառասկզբում յ գրելու համար օրենք չկա պետք է հիշել այդ բառերը
        [
            'հ(ագե|ախճապակ|ախուռն|ածանա|ակինթ|աղթ|աճախ|ամառ|ամր|այտ|անդիման|անդուգն|անկարծ|անկերգ|անձ|անցագործ|անցանք|ապաղ|ապավ|ապաւ|աջող|աջորդ|առ|ասմիկ|ասպիս|ավերժ|ատակ|ատկ|ատուկ|արաբ|արազ|արգ|արդա|արձ|արմ|արութ|աւակ|աւել|աւելեալ|աւետ|աւէտ|աւիտ|ափշտակ|եղա|են|եսան|ետա|երյուրանք|իմար|իշ|իսն|իսուն|իրավի|ղ|ոբել|ոգն|ոդ|ոժար|ոխորտալ|ողդողդ|ոյզ|ոյժ|ոյս|ոնք|ոշոտ|ոպոպ|ոռի|ովազ|ովատակ|ովսե|որանջ|որդ|որդոր|որին|որձ|որջորջել|ուզ|ուլիս|ուղարկ|ույն|ույս|ունապ|ունիս|ունուար|ուշ|ուռթի|ուռութ|ուսա|ստակագեն)',
            'յ$1',
            'յ(ագե|ախճապակ|ախուռն|ածանա|ակինթ|աղթ|աճախ|ամառ|ամր|այտ|անդիման|անդուգն|անկարծ|անկերգ|անձ|անցագործ|անցանք|ապաղ|ապավ|ապաւ|աջող|աջորդ|առ|ասմիկ|ասպիս|ավերժ|ատակ|ատկ|ատուկ|արաբ|արազ|արգ|արդա|արձ|արմ|արութ|աւակ|աւել|աւելեալ|աւետ|աւէտ|աւիտ|ափշտակ|եղա|են|եսան|ետա|երյուրանք|իմար|իշ|իսն|իսուն|իրավի|ղ|ոբել|ոգն|ոդ|ոժար|ոխորտալ|ողդողդ|ոյզ|ոյժ|ոյս|ոնք|ոշոտ|ոպոպ|ոռի|ովազ|ովատակ|ովսե|որանջ|որդ|որդոր|որին|որձ|որջորջել|ուզ|ուլիս|ուղարկ|ույն|ույս|ունապ|ունիս|ունուար|ուշ|ուռթի|ուռութ|ուսա|ստակագեն)',
            'հ$1'
        ],
        // բառասկզբում յ գրելու համար օրենք չկա պետք է հիշել այդ բառերը
        [
            'Հ(ագե|ախճապակ|ախուռն|ածանա|ակինթ|աղթ|աճախ|ամառ|ամր|այտ|անդիման|անդուգն|անկարծ|անկերգ|անձ|անցագործ|անցանք|ապաղ|ապավ|ապաւ|աջող|աջորդ|առ|ասմիկ|ասպիս|ավերժ|ատակ|ատկ|ատուկ|արաբ|արազ|արգ|արդա|արձ|արմ|արութ|աւակ|աւել|աւելեալ|աւետ|աւէտ|աւիտ|ափշտակ|եղա|են|եսան|ետա|երյուրանք|իմար|իշ|իսն|իսուն|իրավի|ղ|ոբել|ոգն|ոդ|ոժար|ոխորտալ|ողդողդ|ոյզ|ոյժ|ոյս|ոնք|ոշոտ|ոպոպ|ոռի|ովազ|ովատակ|ովսե|որանջ|որդ|որդոր|որին|որձ|որջորջել|ուզ|ուլիս|ուղարկ|ույն|ույս|ունապ|ունիս|ունուար|ուշ|ուռթի|ուռութ|ուսա|ստակագեն)',
            'Յ$1',
            'Յ(ագե|ախճապակ|ախուռն|ածանա|ակինթ|աղթ|աճախ|ամառ|ամր|այտ|անդիման|անդուգն|անկարծ|անկերգ|անձ|անցագործ|անցանք|ապաղ|ապավ|ապաւ|աջող|աջորդ|առ|ասմիկ|ասպիս|ավերժ|ատակ|ատկ|ատուկ|արաբ|արազ|արգ|արդա|արձ|արմ|արութ|աւակ|աւել|աւելեալ|աւետ|աւէտ|աւիտ|ափշտակ|եղա|են|եսան|ետա|երյուրանք|իմար|իշ|իսն|իսուն|իրավի|ղ|ոբել|ոգն|ոդ|ոժար|ոխորտալ|ողդողդ|ոյզ|ոյժ|ոյս|ոնք|ոշոտ|ոպոպ|ոռի|ովազ|ովատակ|ովսե|որանջ|որդ|որդոր|որին|որձ|որջորջել|ուզ|ուլիս|ուղարկ|ույն|ույս|ունապ|ունիս|ունուար|ուշ|ուռթի|ուռութ|ուսա|ստակագեն)',
            'Հ$1'
        ],
        // բառավերջում ա -ից հետո դրվում է չկարդացվող յ, բացառություն են կազմում սա դա նա սրա դրա նրա, alphabetWithoutH-ով բացառում ենք հայ-ի դեպքը
        [
            '([' + alphabet + '][' + alphabetWithoutH + '])ա(' + end + ')',
            '$1այ$2',
            '([' + alphabet + '][' + alphabetWithoutH + '])այ(' + end + ')',
            '$1ա$2'
        ],
        // բառավերջում ո -ից հետո դրվում է չկարդացվող յ  // սա առանձնացվել է հատուկ հայ բառի պատճառով
        [
            '([' + alphabet + '])ո(' + end + ')',
            '$1ոյ$2',
            '([' + alphabet + '])ոյ(' + end + ')',
            '$1ո$2'
        ],
        // բառավերջի  են ->  Էն
        [
            '([' + alphabet + '])են(' + end + ')',
            '$1էն$2',
            '([' + alphabet + '])էն(' + end + ')',
            '$1են$2'
        ],
        // բառավերջի  եի ->  Էի
        [
            '([' + alphabet + '])եի(' + end + ')',
            '$1էի$2',
            '([' + alphabet + '])էի(' + end + ')',
            '$1եի$2'
        ],
        // նյու -> նիւ
        [
            '(' + start + ')նյու(' + end + ')',
            '$1նիւ$2',
            '(' + start + ')նիւ(' + end + ')',
            '$1նյու$2'
        ]
        /*
         //բառավերջի  ոն ->  օն
         [
         '([' + alphabet + '])ոն($)',
         '$1օն$2',
         '([' + alphabet + '])օն($)',
         '$1ոն$2'
         ]
         */
    ];
    // սխալների ուղղում կամ բացառություններ
    errorCorrectionSovietToMashtots = [
        ['սրայ', 'սրա'], ['Սրայ', 'Սրա'], ['դրայ', 'դրա'], ['Դրայ', 'Դրա'],
        ['նրայ', 'նրա'], ['Նրայ', 'Նրա'], ['հիմայ', 'հիմա'], ['Հիմայ', 'Հիմա'],
        ['ապայ', 'ապա'], ['Ապայ', 'Ապա'], ['նրայ', 'նրա'], ['Նրայ', 'Նրա'],
        ['ահայ', 'ահա'], ['Ահայ', 'Ահա'], ['այոյ', 'այո'], ['Այոյ', 'Այո'],
        ['աղայ', 'աղա'], ['Աղայ', 'Աղա'], ['փաշայ', 'փաշա'], ['Փաշայ', 'Փաշա'],
        ['ամիրայ', 'ամիրա'], ['Ամիրայ', 'Ամիրա'], ['կակաոյ', 'կակաո'], ['Կակաոյ', 'Կակաո'],
        ['այոյ', 'այո'], ['Այոյ', 'Այո'],
        ['Փօքր', 'Փոքր'], ['կօնք', 'կոնք'], ['Կօնք', 'Կոնք'],
        ['Վու', 'Ւու'], ['ուու', 'ւու'], ['Ուու', 'Ւու'],
        ['էւ', 'եւ'], ['Էւ', 'Եւ'], ['քոյ', 'քո'], ['Քոյ', 'Քո'],
        ['կա', 'կայ'], ['Կա', 'Կայ'], ['գա', 'գայ'], ['Գա', 'Գայ'],
        ['գեր', 'գէր'], ['Գեր', 'Գէր'], ['մնայ', 'մնա'],
        ['այեղագոռ', 'ահեղագոռ'], ['գէտնաթաղ', 'գետնաթաղ'], ['փետ', 'փէտ'],
        ['քանակապէս', 'քանակապես'], ['օք', 'ոք'], ['որբեվայրի', 'որբեւայրի'],
        ['մեկն', 'մէկն'], ['մեհէնապետ', 'մեհենապետ'], ['մատենաւար', 'մատենավար'],
        ['մասէրով', 'մասերով'], ['յունար', 'հունար'], ['նորայ', 'նորա'], ['ուներ', 'ունէր'],
        ['մահեր', 'մահէր']
    ];
    errorCorrectionSovietToMashtotsInTheWord = [
        ['ակադէմ', 'ակադեմ'],
        ['փօքր', 'փոքր'], ['վու', 'ւու'], ['աւէտ', 'աւետ'],
        ['յաւետ', 'յաւէտ'], ['գմբեթ', 'գմբէթ'], ['մեկ', 'մէկ'],
        ['թեպետ', 'թէպէտ'], ['Աբել', 'Աբէլ'],
        ['ուու', 'ւու'], ['սէրնդ', 'սերնդ'], ['սէրունդ', 'սերունդ'], ['ղեկաւար', 'ղեկավար'],
        ['Աւէտիք', 'Աւետիք'], ['Հակոբ', 'Յակոբ'], ['ազգէր', 'ազգեր'], ['ակտիւորէն', 'ակտիւօրէն'],
        ['ամենաւ', 'ամենավ'], ['ամենուր', 'ամէնուր'], ['սէրել', 'սերել'], ['սէրվ', 'սերվ'],
        ['անուերջ', 'անվերջ'], ['ւարձ', 'վարձ'], ['տոմսէր', 'տոմսեր'], ['եութիւն', 'էութիւն'],
        ['եղբոր', 'եղբօր'], ['երեկ', 'երէկ'], ['կէնդ', 'կենդ'],
        ['աեօվ', 'այով'], ['իդեալ', 'իդէալ'], ['կէնս', 'կենս'],
        ['իրէն', 'իրեն'], ['կէնտ', 'կենտ'], ['ոյան', 'ոյեան'], ['կէնս', 'կենս'], ['իրէն', 'իրեն'],
        ['խօստ', 'խոստ'], ['ծափայար', 'ծափահար'],
        ['յարաւ', 'հարաւ'], ['յարբ', 'հարբ'], ['յարիր', 'հարիր'], ['յարիւր', 'հարիւր'],
        ['յարց', 'հարց'], ['յենց', 'հենց'], ['յոդուած', 'յօդուած'],
        ['հօրդոր', 'յորդոր'], ['([^ո])ւառ', '$1վառ'], ['հրեշ', 'հրէշ'],
        ['մայար', 'մահար'], ['ւայր', 'վայր'], ['որօնք', 'որոնք'], ['(' + start + ')ցող', '$1ցօղ'],
        ['պատայար', 'պատահար'], ['պոեմ', 'պօէմ'], ['հետո', 'յետո'],
        ['երէկո', 'երեկո'], ['հոլովակ', 'յոլովակ'],
        ['սկավառ', 'սկաւառ'], ['մէկն', 'մեկն'], ['մեքէնա', 'մեքենա'],
        ['րոպե', 'րոպէ'], ['հրեա', 'հրէա'],
        ['շատէր', 'շատեր'], ['պատէր', 'պատեր'], ['կնուիրուէն', 'կնուիրուեն'],
        ['([' + alphabet + '])յարութ', '$1հարութ'],
        ['ւստահ', 'վստահ'], ['ուախճան', 'վախճան'], ['ատօք', 'ատոք'],
        ['գավառ', 'գաւառ'], ['ւճար', 'վճար'], ['ւաճառ', 'վաճառ'],
        ['([^ո])ւար(ութիւն|ման)', '$1վար$2'], ['դէմիրճեան', 'դեմիրճեան'], ['եդէմ', 'եդեմ'],
        ['ժողւուրդ', 'ժողովուրդ'], ['ինտէ', 'ինտե'], ['ւիճակ', 'վիճակ'], ['լամլամօրել', 'լամլամորել'],
        ['խռւ', 'խռով'], ['ւիժ', 'վիժ'], ['դրօշմ', 'դրոշմ'], ['կառլէն', 'կառլեն'], ['մօրթ', 'մորթ'],
        ['կինո([^ւ])', 'կինօ$1'], ['ուզէնք', 'ուզենք'],
        ['համւ', 'համով'], ['հաշւէ', 'հաշուե'], ['յարմոն', 'հարմոն'],
        ['(' + start + ')հարատ', '$1յարատ'], ['(' + start + ')հօնք', '$1յօնք'],
        ['հէգն', 'հեգն'], ['հոգսէր', 'հոգսեր'], ['հւուեր', 'հովուեր'],
        ['հրէշտակ', 'հրեշտակ'], ['զգէստ', 'զգեստ'], ['մէտաքս', 'մետաքս'],
        ['ւարս', 'վարս'], ['մտէրմ', 'մտերմ'], ['յետամուտ', 'հետամուտ'], ['նուիրատւութ', 'նուիրատուութ'],
        ['շմօր', 'շմոր'], ['շոգէ', 'շոգե'], ['շոեօղ', 'շոյող'], ['ոգէշնչ', 'ոգեշնչ'],
        ['րօրակ', 'րորակ'], ['պատուեր', 'պատուէր'], ['սավառն', 'սաւառն'],
        ['ւարժակ', 'վարժակ'], ['սէրմ', 'սերմ'], ['([^խ])որէն', '$1օրէն'], ['սէրտ', 'սերտ'],
        ['սոսնձու(մ|կ)', 'սօսնձու$1'], ['մօտոր', 'մոտոր'], ['օրթոդօքս', 'օրթոդոքս'], ['չարէնց', 'չարենց'],
        ['չէզօք', 'չէզոք'], ['ունէն', 'ունեն'], ['չօք', 'չոք'], ['համառոտ', 'համառօտ'], ['ւիպ', 'վիպ'],
        ['պարգեւատւ', 'պարգեւատու'], ['պարկէտ', 'պարկետ'], ['ուարչութ', 'վարչութ'], ['պէտքաղ', 'պետքաղ'],
        ['պլեբեեա', 'պլեբէյա'], ['պլեբեյ', 'պլեբէյ'], ['իւեր', 'իվեր'], ['դիվեր', 'դիւեր'], ['ունիվերս', 'ունդիւերս'],
        ['ուէժ', 'վէժ'], ['ցողել', 'ցօղել'], ['ռեակտ', 'ռէակտ'], ['էրէն', 'երէն'], ['սաժէն', 'սաժեն'],
        ['սէրակեր', 'սերակեր'], ['սէրգեյ', 'սերգեյ'], ['սէրժ', 'սերժ'], ['սէրհատ', 'սերհատ'],
        ['սէրում', 'սերում'], ['սթիւէն', 'սթիւեն'], ['ահօտ', 'ահոտ'], ['սկէս', 'սկես'], ['սուէտ', 'սովետ'],
        ['սովօրէ', 'սովորե'], ['ուսէր', 'ուսեր'], ['ստամօքս', 'ստամոքս'], ['ւայել', 'վայել'], ['օրդ', 'որդ'],
        ['վաշինգտօն', 'վաշինգտոն'], ['ւազք', 'վազք'], ['էնի', 'ենի'], ['վեյանձ', 'վեհանձ'],
        ['վերասէր', 'վերասեր'], ['վյատակ', 'վհատակ'], ['ւուշա', 'վուշա'], ['վրդւ', 'վրդով'],
        ['էրորդ', 'երորդ'], ['ւախութիւն', 'վախութիւն'], ['ւ([եէ])րջ', 'վ$1րջ'], ['տարօրոշ', 'տարորոշ'],
        ['տեղեկատւու', 'տեղեկատուու'], ['տէրեւ', 'տերեւ'], ['աւարդ', 'ավարդ'], ['տէրիտորիա', 'տերիտորիա'],
        ['տեւտօն', 'տեւտոն'], ['սուար', 'սվար'], ['լեօզ', 'լյոզ'], ['տրիտօն', 'տրիտոն'], ['յառաչ', 'հառաչ'],
        ['ցրտաւար', 'ցրտավար'], ['ուանկ', 'վանկ'], ['(հաշ|ուր)վանկ', '$1ուանկ'], ['փետ(անալ|ացնել)', 'փէտ$1'],
        ['աւարական', 'ավարական'], ['ուարական', 'վարական'], ['րւութիւն', 'րովութիւն'], ['քուեա', 'քուէա'],
        ['(' + start + '|հանրա)քուեն', '$1քուէն'], ['քրեա', 'քրէա'], ['քրիստօ', 'քրիստո'],
        ['ֆեստօն', 'ֆէստոն'], ['ֆեստիւալ', 'ֆէստիվալ'], ['մէտր', 'մետր'], ['բորբօք', 'բորբոք'],
        ['(' + start + ')որդէ', '$1որդե'], ['ոսկեցող', 'ոսկեցօղ'], ['ոսկէ([' + alphabet + '])', 'ոսկե$1'],
        ['ուէմ', 'ուեմ'], ['ողօք', 'ողոք'], ['ոլօք', 'ոլոք'], ['ոգէթափանց', 'ոգեթափանց'],
        ['շերտէր', 'շերտեր'], ['շաքարօտ', 'շաքարոտ'], ['ուաստակ', 'վաստակ'], ['նվաստական', 'նուաստական'],
        ['պատվաստակ', 'պատուաստակ'], ['շայատ', 'շահատ'], ['էնուէր', 'էնուեր'], ['ցնէն', 'ցնեն'],
        ['յետախուզ', 'հետախուզ'], ['յետազօտ', 'հետազօտ'], ['նայատակ', 'նահատակ'], ['հիմնահատակ', 'հիմնահատակ'],
        ['հունաստան', 'յունաստան'], ['(' + start + ')յագո', '$1եագո'], ['մորմօք', 'մորմոք'],
        ['(' + start + ')մոր(' + end + '|ա|եղբ|ով|ը|ուք)', '$1մօր$2'], ['մօտո', 'մոտո'],
        ['մոլիբդէն', 'մոլիբդեն'], ['տւութե', 'տուութե'], ['րօնք', 'րոնք'], ['մեքենաւար', 'մեքենավար'],
        ['մէտաղ', 'մետաղ'], ['մէկուս', 'մեկուս'], ['կէնցաղ', 'կենցաղ'], ['մարգագէտ', 'մարգագետ'],
        ['ւեներա', 'վեներա'], ['(' + start + ')մանուել', '$1մանուէլ'], ['մանկաւարժ', 'մանկավարժ'],
        ['մաեօր', 'մայոր'], ['մակոյկաւար', 'մակոյկավար'], ['հաշուառուել', 'հաշվառուել'],
        ['մակէտ', 'մակետ'], ['ճանապարյորդ', 'ճանապարհորդ'], ['ձրիաւարժ', 'ձրիավարժ'],
        ['կոիւղ', 'կոյուղ'], ['իւղարկաւ', 'յուղարկաւ'], ['կուէն', 'կուեն'], ['հրէայկան', 'հրէական'],
        ['հրամաեօղական', 'հրամայողական'], ['հուսով', 'յուսով'], ['(' + start + ')հունա', '$1յունա'],
        ['հորջորջ', 'յորջորջ'], ['(' + start + ')հուդա', '$1յուդա'], ['հօրել', 'հորել'],
        ['հորապապ', 'հօրապապ'], ['հօտ(ե|առու|ածու)', 'հոտ$1'], ['յովսեփ', 'յովսէփ'],
        ['հովհաննես', 'յովհաննէս'], ['յոշոտ', 'յօշոտ'], ['յոդ', 'յօդ'], ['ֆյօդ', 'ֆյոդ'],
        ['ուիրայատ', 'վիրահատ'], ['հետ(շեշտ|նամաս|մահու)', 'յետ$1'], ['յետա(քրք|պնդ|խոյզ|զնն)', 'հետա$1'],
        ['հեռւու', 'հեռուու'], ['հէնուե', 'յենուե'], ['(' + start + ')հէնա', '$1յենա'],
        ['հեղկոմ', 'յեղկոմ'], ['ւաշտ', 'վաշտ'], ['հափր', 'յափր'], ['հարուց', 'յարուց'],
        ['(' + start + ')հարա(շունչ|կց|կէզ|կա|դր)', '$1յարա$2'], ['հաւերժ', 'յաւէրժ'],
        ['հաչաղ', 'յաչաղ'], ['տւութիւն', 'տուութիւն'], ['(' + start + ')հանցա', '$1յանցա'],
        ['հանդգն', 'յանդգն'], ['հանգստաւետ', 'հանգստաւէտ'], ['հանգաւոր', 'յանգաւոր'], ['հայհոյեանք', 'հայհոյանք'],
        ['հայեացրիր', 'հայացրիր'], ['յամրովի', 'համրովի'], ['համէտ', 'համետ'], ['յամառոտ', 'համառօտ'],
        ['փորձէ', 'փորձե'], ['ուերականգն', 'վերականգն'], ['ւարուհի', 'վարուհի'], ['կօքս', 'կոքս'],
        ['կոնսէր', 'կոնսեր'], ['կոնգրէսմէն', 'կոնգրէսմեն'], ['կներեք', 'կներէք'], ['կմտածեր', 'կմտածէր'],
        ['ւարժեցուել', 'վարժեցուել'], ['կիրակօս', 'կիրակոս'], ['կիլո', 'կիլօ'], ['կէսէր', 'կէսեր'], ['կէսար', 'կեսար'],
        ['կէնաց', 'կենաց'], ['կէնակց', 'կենակց'], ['կարէնալ', 'կարենալ'], ['կատէգորիկ', 'կատեգորիկ'],
        ['կառաւար', 'կառավար'], ['կայսէր', 'կայսեր'], ['ծառաեօղ', 'ծառայող'], ['ծակօսկր', 'ծակոսկր'],
        ['խոտէր', 'խոտեր'], ['խօսրով', 'խոսրով'], ['խոսել', 'խօսել'], ['ծուատում', 'ծվատում'], ['խօլորում', 'խոլորում'],
        ['խօլամիտ', 'խոլամիտ'], ['թուխմօրուք', 'թուխմորուք'], ['խաղաղաւետ', 'խաղաղաւէտ'], ['լապտէր', 'լապտեր'],
        ['թուին', 'թւին'], ['թօքախոտ', 'թոքախոտ'], ['թօնրատուն', 'թոնրատուն'], ['թիաւարում', 'թիավարում'],
        ['թերաւարժ', 'թերավարժ'], ['թէեա', 'թէյա'], ['սօլիկ', 'սոլիկ'], ['թատէր(գ|ա)', 'թատեր$1'], ['էվո', 'էւո'],
        ['էստօն', 'էստոն'], ['էներգէտիկա', 'էներգետիկա'], ['էշաւար', 'էշավար'], ['զօրաւար', 'զօրավար'],
        ['զւունի', 'զովունի'], ['զինաւար', 'զինավար'], ['զէնդերէն', 'զենդերէն'], ['օդիժէն', 'օդիժեն'], ['օգօստոս', 'օգոստոս'],
        ['փաստէրը', 'փաստերը'], ['յոլով', 'հոլով'], ['սկաւառն', 'սկավառն'], ['ռօք', 'ռոք'], ['ռեակցիան', 'ռէակցիան'],
        ['պրոդիւսէր', 'պրոդիւսեր'], ['պետէրբուրգ', 'պետերբուրգ'], ['պասսէն', 'պասսեն'], ['մարիեայ', 'մարիյայ'],
        ['մանժէտ', 'մանժետ'], ['մայայ', 'մայա'], ['մաստէր', 'մաստեր'], ['հրաժէտ', 'հրաժետ'],
        ['յետաքն', 'հետաքն'], ['յարազատ', 'հարազատ'], ['յագել', 'հագել'], ['կրտսէրը', 'կրտսերը'],
        ['կրծքաւանդակ', 'կրծքավանդակ'], ['կարծէս', 'կարծես'], ['ատէգորիաներ', 'ատեգորիանէր'],
        ['կատարէց', 'կատարեց'], ['թօքային', 'թոքային'], ['ամենայ', 'ամենա'], ['ամենաայտնի', 'ամենայայտնի'],
        ['ամենաաջող', 'ամենայաջող'], ['ամեն(ը|ի)', 'ամէն$1'], ['ամերիկայ(' + end + ')', 'ամերիկա$1'],
        ['այլօք', 'այլոք'], ['այնուամենանիւ', 'այնուամենայնիւ'], ['այտէրը', 'այտերը'], ['անգլերէն', 'անգլերեն'],
        ['անովէրջ', 'անվերջ'], ['առուիզոյի', 'առվիզոյի'], ['ատրէն', 'ատրեն'], ['արէնայ', 'արենայ'],
        ['բանտէր', 'բանտեր'], ['բերէց', 'բերեց'], ['բօքս', 'բոքս'], ['բիւջէն', 'բիւջեն'],
        ['(դրու|տան|ստիպ|սպան|պարզ|կռու|որոշ|կոյս|ճանաչ|հասն|յանձնու|կատար|լուծ|զբաղու|գտնու|' +
            'գործ|կարծ|կարլ|ւորու|աշխատ|անցկացու|խայտ|տեսն|պատրաստ|համեմատ|ներառ|' +
            'աւելացու|ինչպիսիք)է(մ|ն|ր)', '$1ե$2'],
        ['(բարելաւ)եր', '$1էր'],
        ['(' + start + ')կտրոն', '$1կտրօն'],
        ['(' + start + ')կ(հ|յ|լին|մնա|վնաս|փորձ|տեսն|տեղադր|տան|վերա|ստիպ|ստան|սպան|սկս|սիր|պաշտպան|պարզ|պահ|' +
            'շարունակ|նստ|նայ|մեռն|ձեռնարկ|խօս|կա|դնի|բեր|զբաղ|դադար|դարձ|գա|ներ|մտած|ճանաչ|լսեմ|' +
            'խանգար|լուծ|թուա|թողն|գտնու|գործ|բացու|տայ|ղբաղեցն|դառնա|բարելաւ|բաժանուի)', '$1կը $2'],
        ['(' + start + ')կ(ուղարկ|ուզէ|որոշ|ուզեն|ունե|իրական|ընձեռ|ընդուն|ըլն|երթա|ելն|աւերի|ասենք|առնի|ապացուց|' +
            'աշխատ|անցկացու|անեմ|ոպպոլայ|արոլինայ|ատրինայ|ատեգորիանէր|աւելացու|անցկացն|անի)', '$1կ\'$2']
    ];
    errorCorrectionMashtotsToSovietInTheWord = [
        ['([^ոե])ւ', '$1վ'],
        ['փօքր', 'փոքր'], ['ւու', 'վու'],
        ['հրավէր', 'հրավեր'], ['հրէշ', 'հրեշ'],
        ['յաւէտ', 'հավետ'], ['գմբէթ', 'գմբեթ'], ['մէկ', 'մեկ'], ['յոլովակ', 'հոլովակ'],
        ['թէպէտ', 'թեպետ'], ['Աբէլ', 'Աբել'],
        ['մանրէ', 'մանրե'], ['սէրնդ', 'սերնդ'],
        ['սէրունդ', 'սերունդ'], ['ղեկաւար', 'ղեկավար'], ['Յակոբ', 'Հակոբ'],
        ['ակտիւօրէն', 'ակտիւորէն'], ['ամենաւ', 'ամենավ'], ['ամէնուր', 'ամենուր'],
        ['սէրել', 'սերել'], ['սէրվ', 'սերվ'], ['անուերջ', 'անվերջ'],
        ['տոմսէր', 'տոմսեր'], ['բարոր', 'բարօր'],
        ['եղբօր', 'եղբոր'], ['երէկ', 'երեկ'],
        ['այով', 'աեօվ'], ['իդէալ', 'իդեալ'], ['յետո', 'հետո'],
        ['ոյեան', 'ոյան'], ['հաշիւ', 'հաշիվ'], ['յօդուած', 'յոդուած'], ['յորդոր', 'հորդոր'],
        ['ցօղ', 'ցող'], ['հրաւէր', 'հրավեր'],
        ['սկաւառ', 'սկավառ'], ['պօէմ', 'պոեմ'], ['րոպէ', 'րոպե'],
        ['(' + start + ')ևա(ան|յի|ին|ից|ով)(' + end + ')', 'եվա$2'],
        ['կը ', 'կ'], ['կինօ', 'կինո'], ['կոլեկտյու', 'կոլեկտիվ'],
        ['կ\'', 'կ'], ['նահենք', 'նայենք'], ['պատվէր', 'պատվեր'],
        ['տօրեն', 'տորեն'], ['([^ատ]|[' + alphabet + '][ա])նօրեն', '$1նորեն'],
        ['սօսնձ', 'սոսնձ'], ['տարիե', 'տարիէ'], ['պահուսակ', 'պայուսակ'],
        ['(' + start + ')յարատ', '$1հարատ'], ['առօտ', 'առոտ'], ['պարզապես', 'պարզապէս'],
        ['վենեսվելա', 'վենեսուելա'], ['վէստ', 'վեստ'], ['փէտ(անալ|ացնել)', 'փետ$1'],
        ['պլեբէյ', 'պլեբեյ'], ['աղվէս', 'աղվես'], ['ռէակտ', 'ռեակտ'], ['իօրեն', 'իորեն'],
        ['որինակ', 'օրինակ'], ['(' + start + ')րոպյա', '$1րոպեա'], ['քվէա', 'քվեա'],
        ['մանրե([^լ])', 'մանրէ$1'], ['ոքսիդ', 'օքսիդ'], ['օրեն(' + end + ')', 'որեն$1'],
        ['քվէն', 'քվեն'], ['քրէա', 'քրեա'], ['ֆէստ(ոն|իվալ)', 'ֆեստ$1'], ['յունաստան', 'հունաստան'],
        ['հառաջ', 'յառաջ'], ['(' + start + ')եագո', '$1յագո'], ['(' + start + ')մօր', '$1մոր'],
        ['մանվէլ', 'մանվել'], ['հրէական', 'հրեական'], ['յուսով', 'հուսով'], ['(' + start + ')յունա', '$1հունա'],
        ['յորջորջ', 'հորջորջ'], ['(' + start + ')յուդա', '$1հուդա'], ['հօրապապ', 'հորապապ'], ['յովսէփ', 'հովսեփ'],
        ['յովհաննէս', 'հովհաննես'], ['հովյու', 'հովիվ'], ['յօշոտ', 'հոշոտ'], ['յետ', 'հետ'],
        ['յեղկոմ', 'հեղկոմ'], ['յափր', 'հափր'], ['յարուց', 'հարուց'], ['օդաչվ', 'օդաչու'],
        ['(' + start + ')յարա(շունչ|կց|կեզ|կա|դր)', '$1հարա$2'], ['յավէրժ', 'հավերժ'],
        ['յավետ', 'հավետ'], ['հասցյ', 'հասցե'], ['յաչաղ', 'հաչաղ'], ['(' + start + ')յանցա', '$1հանցա'],
        ['յանդգն', 'հանդգն'], ['յանգավոր', 'հանգավոր'], ['(' + start + ')կտրօն', '$1կտրոն'], ['կռյու', 'կռիվ'],
        ['կներէք', 'կներեք'], ['կմտածէր', 'կմտածեր'], ['կլիմահա', 'կլիմայա'], ['կիլօ', 'կիլո'],
        ['գործունէություն', 'գործունեություն'], ['ինտելեկտվալ', 'ինտելեկտուալ'], ['ինդիվիդվալ', 'ինդիվիդուալ'],
        ['(' + start + ')քրյա', '$1քրեա'], ['տնորեն', 'տնօրեն'], ['ռէակցիան', 'ռեակցիան'],
        ['հաշյուների', 'հաշիվների'], ['բարելավէր', 'բարելավեր'], ['ատեգորիանէր', 'ատեգորիաներ'],
        ['կօշիկնէր', 'կոշիկնէր'], ['լյուիս', 'լիւիս'], ['ամէն(ը|ի)', 'ամեն$1'], ['այնվամենայնիվ', 'այնուամենայնիվ'],
        ['թեմաեօվ', 'թեմայով']
    ];
    errorCorrectionMashtotsToSoviet = [
        ['խո', 'խոյ'], ['Խո', 'Խոյ'], ['Նո', 'Նոյ'], ['կայ', 'կա'],
        ['Կայ', 'Կա'], ['մանրե', 'մանրէ'], ['գէր', 'գեր'],
        ['Գէր', 'Գեր'], ['չե', 'չէ'], ['Չե', 'Չէ'], ['տարորինակ', 'տարօրինակ'],
        ['անոթևան', 'անօթևան'], ['հրյա', 'հրեա'], ['չեի', 'չէի'], ['տերը', 'տէրը'],
        ['փէտ', 'փետ'], ['շվուոց', 'շվվոց'], ['ունէր', 'ուներ'], ['մահէր', 'մահեր']
    ];
    //ածանցներ և արմատներ, որոնք պետք է ուղղակի հիշվեն
    wordsParts = [
        ['ավոր', 'աւոր'], ['վետ', 'ւէտ'], ['ավուն', 'աւուն'], ['զեն', 'զէն'],
        ['դեմ', 'դէմ'], ['դեպ', 'դէպ'], ['տեր', 'տէր'],
        ['աղետ', 'աղէտ'], ['արժեք', 'արժէք'], ['արեն', 'արէն'],
        ['գետ', 'գէտ'], ['դեպ', 'դէպ'], ['դետ', 'դէտ'],
        ['եղեն', 'եղէն'], ['հրեերեն', 'հրէերէն'], ['երեն', 'երէն'], ['երեց', 'երէց'],
        ['կեն', 'կէն'], ['կետ', 'կէտ'], ['մետ', 'մէտ'], ['մեջ', 'մէջ'],
        ['շեն', 'շէն'], ['պես', 'պէս'], ['սեր', 'սէր'], ['վեժ', 'վէժ'],
        ['վեպ', 'վէպ'], ['վերք', 'վէրք'], ['վրեպ', 'վրէպ'], ['քեն', 'քէն'],
        ['օրեն', 'օրէն'], ['աղեկեզ', 'աղեկէզ'], ['աղետ', 'աղէտ'],
        ['աղվես', 'աղուէս'], ['անզեն', 'անզէն'],
        ['անեծք', 'անէծք'], ['անշեջ', 'անշէջ'], ['աշղետ', 'աշղէտ'], ['ապավեն', 'ապաւէն'],
        ['գեթ', 'գէթ'], ['գեշ', 'գէշ'], ['գես', 'գէս'],
        ['գմբեթ', 'գմբէթ'], ['գոմեշ', 'գոմէշ'], ['դեզ', 'դէզ'], ['դեմ', 'դէմ'],
        ['ապաքեն', 'ապաքէն'], ['առնետ', 'առնէտ'], ['ասպարեզ', 'ասպարէզ'],
        ['արալեք', 'արալէք'], ['արժեք', 'արժէք'], ['բզեզ', 'բզէզ'], ['բվեճ', 'բուէճ'],
        ['բրետ', 'բրէտ'], ['զենք', 'զէնք'], ['զենիթ', 'զէնիթ'], ['ընդդեմ', 'ընդդէմ'],
        ['ընկեց', 'ընկէց'], ['թեև', 'թէև'], ['թեժ', 'թէժ'], ['թեպետ', 'թէպէտ'],
        ['ժամկետ', 'ժամկէտ'], ['ժապավեն', 'ժապաւէն'], ['լեգեոն', 'լեգէոն'],
        ['խաբեություն', 'խաբէութիւն'], ['խեթ', 'խէթ'], ['խեժ', 'խէժ'], ['խլեզ', 'խլէզ'],
        ['ծես', 'ծէս'], ['ծովահեն', 'ծովահէն'], ['ծվեն', 'ծուէն'], ['կեզ', 'կէզ'],
        ['կես', 'կէս'], ['կողպեք', 'կողպէք'], ['կուզեկուզ', 'կուզէկուզ'], ['դեմք', 'դէմք'],
        ['դեն', 'դէն'], ['դեպի', 'դէպի'], ['դեպք', 'դէպք'], ['ելակետ', 'ելակէտ'],
        ['ելևեջ', 'ելևէջ'], ['եզեգ', 'եզէգ'], ['մեգ', 'մէգ'], ['մեզ', 'մէզ'], ['մեկ', 'մէկ'],
        ['մեջ', 'մէջ'], ['մետ', 'մէտ'], ['մողես', 'մողէս'],
        ['հավետ', 'յաւէտ'], ['հետադեմ', 'յետադէմ'], ['նշանդրեք', 'նշանդրէք'], ['նվեր', 'նուէր'],
        ['շահեն', 'շահէն'], ['շեկ', 'շէկ'], ['շեն', 'շէն'], ['ողջակեզ', 'ողջակէզ'],
        ['ուղեշ', 'ուղէշ'], ['չեզոք', 'չէզոք'], ['պանթեոն', 'պանթէոն'], ['պարեն', 'պարէն'],
        ['պարետ', 'պարէտ'], ['պարտեզ', 'պարտէզ'], ['պետք', 'պէտք'], ['պնակալեզ', 'պնակալէզ'],
        ['կրետ', 'կրէտ'], ['հանպեդ', 'հանդէպ'], ['հանդես', 'հանդէս'],
        ['հեգ', 'հէգ'], ['հելլեն', 'հելլէն'], ['հեն', 'հէն'], ['հյուսկեն', 'հիւսկէն'],
        ['հրավեր', 'հրաւէր'], ['հրեշ', 'հրէշ'], ['հրշեջ', 'հրշէջ'],
        ['ձեթ', 'ձէթ'], ['տեգ', 'տէգ'], ['տերունական', 'տէրունական'], ['տերտեր', 'տէրտէր'],
        ['տնօրեն', 'տնորէն'], ['փոխարեն', 'փոխարէն'], ['ջրվեժ', 'ջրվէժ'], ['ջրօրհնեք', 'ջրօրհնէք'],
        ['սեգ', 'սէգ'], ['սեզ', 'սէզ'], ['սպառազեն', 'սպառազէն'], ['վեճ', 'վէճ'], ['վեմ', 'վէմ'],
        ['վեպ', 'վէպ'], ['վէս', 'վես'], ['վերք', 'վէրք'], ['վրեժ', 'վրէժ'], ['տարեց', 'տարէց'],
        ['փրփադեզ', 'փրփրադէզ'], ['քարտեզ', 'քարտէզ'], ['քեն', 'քէն'],
        ['քնեած', 'քնէած'], ['քրեական', 'քրէական'],
        ['աղոթք', 'աղօթք'], ['աղոտ', 'աղօտ'], ['անոթ', 'անօթ'],
        ['առավոտ', 'առաւօտ'], ['արոտ', 'արօտ'], ['արոր', 'արօր'],
        ['դրոշ', 'դրօշ'], ['զբոսն', 'զբօսն'], ['զգոն', 'զգօն'],
        ['զոդ', 'զօդ'], ['զոր', 'զօր'], ['թափոր', 'թափօր'], ['թոշն', 'թօշն'], ['խոս', 'խօս'],
        ['կրոն', 'կրօն'], ['հոտ', 'հօտ'], ['ճոճ', 'ճօճ'], ['մոտ', 'մօտ'], ['տոն', 'տօն'],
        ['օրոր', 'օրօր'], ['ոք', 'օք'], ['ոնք', 'օնք'], ['եոք', 'եօք'],
        ['անեծք', 'անէծք'], ['լեգեոն', 'լեգէոն'], ['կուզեկուզ', 'կուզէկուզ'],
        ['պանթեոն', 'պանթէոն'], ['ախպեր', 'ախպէր'], ['քրեական', 'քրէական'],
        ['չեզոք', 'չէզոք'], ['պետք', 'պէտք'], ['հրեա', 'հրէայ'],
        ['պարետ', 'պարէտ'], ['քարտեզ', 'քարտէզ'], ['շեջ', 'շէջ'], ['պարտեզ', 'պարտէզ'],
        ['ընկեց', 'ընկէց'], ['ժետ', 'ժէտ'], ['կեզ', 'կէզ'],
        ['հանդես', 'հանդէս'], ['հրավեր', 'հրավէր'], ['եիր', 'էիր'], ['եիք', 'էիք'],
        ['եոս', 'էոս'], ['եաս', 'էաս'],
        ['ակոս', 'ակօս'], ['աղորիք', 'աղօրիք'], ['ամոթ', 'ամօթ'],
        ['ապարոշ', 'ապարօշ'], ['արտոսր', 'արտօսր'],
        ['բռնազբոսիկ', 'բռնազբօսիկ'], ['բոթ', 'բօթ'], ['գոշ', 'գօշ'],
        ['գոս', 'գօս'], ['գոտի', 'գօտի'], ['դոդոշ', 'դօդօշ'],
        ['զոշաքաղ', 'զօշաքաղ'], ['թոթափ', 'թօթափ'], ['թոն', 'թօն'],
        ['թոթվել', 'թօթուել'], ['լոթի', 'լօթի'], ['լոլիկ', 'լօլիկ'], ['խոլ', 'խօլ'],
        ['ծանոթ', 'ծանօթ'], ['ծղոտ', 'ծղօտ'], ['ծնոտ', 'ծնօտ'],
        ['կարոտ', 'կարօտ'], ['կոշիկ', 'կօշիկ'], ['հետազոտ', 'հետազօտ'],
        ['ձոն', 'ձօն'], ['ղողանջ', 'ղօղանջ'], ['յոդ', 'յօդ'], ['հոժար', 'յօժար'],
        ['հոնք', 'յօնք'], ['հորանջ', 'յօրանջ'],
        ['հորին', 'յօրին'], ['նարոտ', 'նարօտ'], ['պռոշ', 'պռօշ'],
        ['սոլ', 'սօլ'], ['սոսի', 'սօսի'], ['սոսափ', 'սօսափ'],
        ['վառոդ', 'վառօդ'], ['տոթ', 'տօթ'], ['քող', 'քօղ'], ['հայաց', 'հայեաց'],
        ['Գայանե', 'Գայեանէ'], ['դայակ', 'դայեակ'], ['աերո', 'աէրո'], ['ավտո', 'աւտօ'],
        ['բեյրութ', 'բէյրութ'], ['գրավվե', 'գրաւուե'], ['գրավվի', 'գրաւուի'],
        ['վեք', 'ուէք'], ['եյան', 'եյեան'], ['փեշ', 'փէշ'], ['նեին', 'նէին'],
        ['հանգե', 'յանգե'], ['հեյ', 'հէյ'], ['մանյովր', 'մանեօւր'], ['մովսես', 'մովսէս'],
        ['շեֆական', 'շէֆական'], ['պեծպծալի', 'պէծպծալի'], ['ռադիո', 'ռադիօ'],
        ['չերքեզի', 'չէրքէզի'], ['պատճե', 'պատճէ'], ['պատնեշ', 'պատնէշ'], ['պարգևվել', 'պարգեւուել'],
        ['պեծ', 'պէծ'], ['պոեզիա', 'պօէզիա'], ['պրոֆես', 'պրոֆէս'], ['ջահել', 'ջահէլ'],
        ['ռաֆայել', 'ռաֆայէլ'], ['սամվել', 'սամուէլ'], ['սվերդ', 'սուերդ'], ['սվեր', 'սուէր'],
        ['տվյալ', 'տուեալ'], ['փոխնեփոխ', 'փոխնէփոխ'], ['վույտ', 'ուոյտ'], ['օվկիան', 'ովկիան'],
        ['օրեցօր', 'օրէցօր'], ['հաբեշ', 'հաբէշ'], ['հածել', 'յածել'], ['հակոբ', 'յակոբ'],
        ['ոստրեբուծական', 'ոստրէբուծական'], ['շվեդ', 'շուէդ'], ['շոշափել', 'շօշափել'],
        ['շոշափել', 'շօշափել'], ['մորուս', 'մօրուս'], ['շեյխ', 'շէյխ'], ['շարվեշար', 'շարուէշար'],
        ['նորվեգ', 'նորուէգ'], ['նոսր', 'նօսր'], ['նոթ', 'նօթ'], ['յանուկովիչ', 'եանուկովիչ'],
        ['յամբ', 'եամբ'], ['միքայել', 'միքայէլ'], ['մերացու', 'մէրացու'], ['մեծավերջ', 'մեծավէրջ'],
        ['ձյութա', 'ձիւթա'], ['յուղ', 'իւղ'], ['ձենն', 'ձէնն'], ['հոդս', 'յօդս'], ['հորս', 'հօրս'],
        ['հստակ', 'յստակ'], ['հորե', 'հօրե'], ['հինգլեզվ', 'հինգլեզու'], ['հանրաքվե', 'հանրաքուէ'],
        ['օրհնեք', 'օրհնէք'], ['կռճոն', 'կռճօն'], ['կորցրեք', 'կորցրէք'], ['կոշկա', 'կօշկա'],
        ['կոնգրես', 'կոնգրէս'], ['կաղեկաղ', 'կաղէկաղ'], ['կախեք', 'կախէք'], ['ծեգաբաց', 'ծէգաբաց'],
        ['խելահեղ', 'խելայեղ'], ['մորուք', 'մօրուք'], ['լիներ', 'լինէր'], ['լեոյի', 'լէոյի'], ['իսրայել', 'իսրայէլ'],
        ['թոզոտվել', 'թօզոտուել'], ['թեյ', 'թէյ'], ['զոռ', 'զօռ'], ['զբոս', 'զբօս'], ['ֆոնս', 'ֆօնս'],
        ['օգոտոս', 'օգօտոս'], ['րայան', 'րայեան'], ['տեղեր', 'տեղէր'], ['վիդեո', 'վիդէո'], ['սքվեր', 'սքուէր'],
        ['սոպրանո', 'սոպրանօ'], ['յակում', 'եակում'], ['ձեռնոցներ', 'ձեռնոցնէր'], ['հասցե', 'հասցէ'],
        ['կրունկներ', 'կրունկնէր'], ['կրամեր', 'կրամէր'], ['խորեոգրաֆ', 'խորէոգրաֆ'], ['ժամեր', 'ժամէր'],
        ['Ավոն', 'Աւօն'], ['այցելեք', 'այցելէք'], ['արետտա', 'արէտտայ'], ['թողարկվեր', 'թողարկուէր'],
        ['դասընթացներ', 'դասընթացնէր'], ['գործունեության', 'գործունէութեան']
    ];

    function replace(text, expression, replacement, isShowPath) {
        var temp;
        temp = text;
        text = text.replace(new RegExp(expression, 'g'), replacement);
        if (isShowPath && temp !== text) {
            console.log(temp + '->' + text + ' (' + expression + ')');
        }
        return text;
    }

    function sovietToMashtots(text, isShowPath) {
        var i, length, expression, replacement;

        if (typeof isShowPath !== 'boolean') {
            isShowPath = false;
        }

        // word parts that have no rules
        for (i = 0, length = wordsParts.length; i < length; i++) {
            expression = wordsParts[i][0];
            replacement = wordsParts[i][1];
            text = replace(text, expression, replacement, isShowPath);
        }

        // main spelling
        for (i = 0, length = data.length; i < length; i++) {
            expression = data[i][0];
            replacement = data[i][1];
            text = replace(text, expression, replacement, isShowPath);
        }
        // for mistakes in the word make right
        for (i = 0, length = errorCorrectionSovietToMashtotsInTheWord.length; i < length; i++) {
            expression = errorCorrectionSovietToMashtotsInTheWord[i][0];
            replacement = errorCorrectionSovietToMashtotsInTheWord[i][1];
            text = replace(text, expression, replacement, isShowPath);
        }
        // for mistakes make right
        for (i = 0, length = errorCorrectionSovietToMashtots.length; i < length; i++) {
            expression = '(' + start + ')';
            expression += errorCorrectionSovietToMashtots[i][0];
            expression += '(' + end + ')';
            replacement = '$1' + errorCorrectionSovietToMashtots[i][1] + '$2';
            text = replace(text, expression, replacement, isShowPath);
        }

        return text;
    }

    /*
     Note: the reverse conversion is done in reverse order
     because some rules applied in chain cause unwanted
     side-effect, so order matters, and it needs to be
     reversed in the reverse conversion
     */
    function mashtotsToSoviet(text, isShowPath) {
        var i, length, expression, replacement;

        if (typeof isShowPath !== 'boolean') {
            isShowPath = false;
        }

        for (i = 0, length = wordsParts.length; i < length; i++) {
            expression = wordsParts[i][1];
            replacement = wordsParts[i][0];
            text = replace(text, expression, replacement, isShowPath);
        }

        for (i = data.length - 1; i >= 0; i--) {
            expression = data[i][2];
            replacement = data[i][3];
            text = replace(text, expression, replacement, isShowPath);
        }
        // for mistakes in the word make right
        for (i = 0, length = errorCorrectionMashtotsToSovietInTheWord.length; i < length; i++) {
            expression = errorCorrectionMashtotsToSovietInTheWord[i][0];
            replacement = errorCorrectionMashtotsToSovietInTheWord[i][1];
            text = replace(text, expression, replacement, isShowPath);
        }

        for (i = 0, length = errorCorrectionMashtotsToSoviet.length; i < length; i++) {
            expression = '(' + start + ')';
            expression += errorCorrectionMashtotsToSoviet[i][0];
            expression += '(' + end + ')';
            replacement = '$1' + errorCorrectionMashtotsToSoviet[i][1] + '$2';
            text = replace(text, expression, replacement, isShowPath);
        }
        return text;
    }

    /*
     * Export for Browser or Node
     */
    if (window !== null) {
        mashtots = window.mashtots = {};
    } else {
        mashtots = exports;
    }

    /*
     * Public methods
     */
    mashtots.sovietToMashtots = sovietToMashtots;
    mashtots.mashtotsToSoviet = mashtotsToSoviet;
    mashtots.replace = replace;
}(typeof window === 'object' ? window : null, typeof exports === 'object' ? exports : null));

/**
 * Armenian orthograpy converter DOM 1.0.1
 */

(function (window) {
    'use strict';

    if (typeof window.mashtots !== 'object') {
        return;
    }

    function isInArray(needle, haystack) {
        var key, val;
        needle = needle.toLowerCase();
        for (key in haystack) {
            if (haystack.hasOwnProperty(key)) {
                val = haystack[key].toLowerCase();
                if (val === needle) {
                    return true;
                }
            }
        }
        return false;
    }

    function replaceInDomTimeout(element, exeptions, filters, callback, attributes) {
        setTimeout(function () {
            replaceInDom(element, exeptions, filters, callback, attributes);
        }, 0);
    }

    function replaceWithExeptions(text, exeptions, callback) {
        var footnotes = [],
            regexp,
            matches,
            i,
            j,
            k;
        for (j = 0; j < exeptions.length; j++) {
            i = 0;
            footnotes[j] = [];

            regexp = new RegExp(exeptions[j], 'gm');
            matches = text.match(regexp);
            while (matches) {
                for (k = 0; k < matches.length; k++) {
                    footnotes[j][k + i] = matches[k];
                    text = text.replace(matches[k], '#' + j + '#' + (k + i) + '#');
                }
                matches = text.match(regexp);
                i = k;
            }
        }
        text = callback(text);
        if (footnotes.length) {
            for (j = footnotes.length - 1; j >= 0; j--) {
                if (footnotes[j] && footnotes[j].length) {
                    for (k = footnotes[j].length - 1; k >= 0; k--) {
                        text = text.replace('#' + j + '#' + k + '#', footnotes[j][k]);
                    }
                }
            }
        }
        return text;
    }

    // TODO: method is too big, separate it
    function replaceInDom(element, exeptions, filters, callback, attributes) {
        var i, filter, attrs, findedElements, findedElement, attribute, elementAttribute,
            title, alt, value, doc, node;
        if (typeof element === 'string') {
            return callback(element);
        }
        if (typeof filters === 'object' && filters !== null) {
            for (filter in filters) {
                if (filters.hasOwnProperty(filter)) {
                    attrs = filters[filter];
                    findedElements = element.getElementsByTagName(filter);
                    for (i = 0; i < findedElements.length; i++) {
                        findedElement = findedElements[i];
                        replaceInDomTimeout(findedElement, exeptions, undefined, callback, attrs);
                    }
                }
            }
            return;
        }
        if (typeof attributes === 'object' && attributes !== null) {
            if (typeof element.attributes === 'object') {
                for (attribute in attributes) {
                    if (attributes.hasOwnProperty(attribute)) {
                        if (attribute[0] !== '$') {
                            elementAttribute = element.attributes[attribute];
                            if (typeof elementAttribute !== 'string' || !isInArray(elementAttribute.value, attributes[attribute])) {
                                return;
                            }
                        }
                    }
                }
            } else if (typeof attributes.$function !== 'function') {
                return;
            }
            if (typeof attributes.$function === 'function') {
                if (!attributes.$function(element)) {
                    return;
                }
            }
        }
        title = element.getAttribute('title');
        alt = element.getAttribute('alt');
        value = element.value;
        if (typeof title === 'string') {
            element.setAttribute('title', callback(title));
        }
        if (typeof alt === 'string') {
            element.setAttribute('alt', callback(alt));
        }
        if (typeof value === 'string') {
            if (typeof exeptions === 'object') {
                element.value = replaceWithExeptions(value, exeptions, callback);
            } else {
                element.value = callback(value);
            }
        }
        if (element instanceof HTMLIFrameElement) {
            try {
                doc = element.contentDocument || element.contentWindow.document;
                if (doc !== undefined) {
                    replaceInDomTimeout(doc.getElementsByTagName('body')[0], exeptions, undefined, callback);
                }
            } catch (e) {
                return;
            }
            return;
        }

        if (!(element instanceof HTMLTextAreaElement)) {
            for (i = 0; i < element.childNodes.length; i++) {
                node = element.childNodes[i];
                if (node instanceof Text) {
                    if (typeof exeptions === 'object') {
                        node.data = replaceWithExeptions(node.data, exeptions, callback);
                    } else {
                        node.data = callback(node.data);
                    }
                } else if (!(node instanceof Comment)) {
                    replaceInDomTimeout(node, exeptions, undefined, callback);
                }
            }
        }
    }

    function sovietToMashtotsDom(element, exeptions, filters) {
        replaceInDom(element, exeptions, filters, function (text) {
            return window.mashtots.sovietToMashtots(text);
        });
    }

    function mashtotsToSovietDom(element, exeptions, filters) {
        replaceInDom(element, exeptions, filters, function (text) {
            return window.mashtots.mashtotsToSoviet(text);
        });
    }

    window.mashtots.sovietToMashtotsDom = sovietToMashtotsDom;
    window.mashtots.mashtotsToSovietDom = mashtotsToSovietDom;
}(window));

(function($){
    setTimeout(function() {
        if (typeof($.fn.wikiEditor) !== 'undefined' && typeof(mashtots) !== 'undefined') {
            $('#wpTextbox1').wikiEditor('addToToolbar', {
                'section': 'main',
                'groups': {
                    'additional': { 'label': '' }
                }
            });
            $('#wpTextbox1').wikiEditor('addToToolbar', {
                'section': 'main',
                'group': 'additional',
                'tools': {
                    'mashtots': {
                        label: 'Սովետական ուղղագրութիւն',
                        type: 'button',
                        icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png',
                        action: {
                            type: 'callback',
                            execute: function(context) {
                                var $textarea = $('.wikiEditor-ui-text textarea');
                                mashtots.mashtotsToSovietDom($textarea.get(0), [
                                    '(<ref( name="[^\<\>]*")?>[^\<\>]*</ref>)|(<ref name="[^\<\>]*" ?/>)',
                                    '<blockquote>[^\<\>]*</blockquote>',
                                    '\{\{[^\{\}]*\}\}',
                                    '\\[\\[[^\\[\\]]*\\]\\]',
                                    '\\[[^\\[\\]]*\\]',
                                    '(http|https|ftp)://[^ ]+',
                                    '\<[^\<\>]*\>',
                                    '«.*»'
                                ]);
                            }
                        }
                    }
                }
            } );
        }
    }, 0);
})(jQuery);

(function(window, $){
    var spell = getCookie('spell');
    if (spell === '') {
        setCookie('spell', 'soviet', 30);
    }
    $(window.document).ready( function() {
    //Active only on view, and only on Main, Talk, User, UserTalk, Project, ProjectTalk pages
        if (mw.config.get('wgAction') === 'view' && mw.config.get('wgNamespaceNumber') >=0 && mw.config.get('wgNamespaceNumber') <= 5) {
            isChecked();
            jQuery('#check').change(onConvertChange);
        }
    });
    //function for creating chekbox
    function createChekbox() {
        var li = $('<li />');
        li.attr('id','mashtots');
        li.css('color', '#0645AD');
        var lab = jQuery('<label />');
        lab.attr('for', 'check');
        lab.attr('id','mashtots_link');
        lab.attr('title', 'ցուցադրել բովանդակութիւնը աւանդական ուղղագրութեամբ');
        var inp = jQuery('<input />');
        inp.attr('type', 'checkbox');
        inp.attr('name', 'dasakan');
        inp.attr('id', 'check');
        inp.css('position', 'relative');
        inp.css('vertical-align', 'middle');
        inp.css('bottom', '1px');
        inp.css('padding', '0');
        inp.css('margin', '0');
        inp.css('margin-right', ' 0.3em');
        var t ='աւանդական';
        lab.append(inp);
        lab.append(t);
        li.append(lab);
        $('#p-personal ul').prepend(li);
    }
    function isChecked(){
        createChekbox();
        if(spell=='mashtots') {
            document.getElementById('check').checked=true;
            window.mashtots.sovietToMashtotsDom(window.document.getElementById('firstHeading'));
            window.mashtots.sovietToMashtotsDom(window.document.getElementById('bodyContent'));
            window.mashtots.sovietToMashtotsDom(window.document.getElementById('mw-panel'));
        }
    }
    // function for converting the page from soviet->mashtots
    function onConvertChange() {
        if($('#check').is(':checked')) {
            setCookie('spell', 'mashtots', 30);
            window.mashtots.sovietToMashtotsDom(window.document.getElementById('firstHeading'));
            window.mashtots.sovietToMashtotsDom(window.document.getElementById('bodyContent'));
            window.mashtots.sovietToMashtotsDom(window.document.getElementById('mw-panel'));
        } else {
            setCookie('spell', 'soviet', 30);
            window.mashtots.mashtotsToSovietDom(window.document.getElementById('firstHeading'));
            window.mashtots.mashtotsToSovietDom(window.document.getElementById('bodyContent'));
            window.mashtots.mashtotsToSovietDom(window.document.getElementById('mw-panel'));
        }
    }
    function setCookie(c_name,value,exdays) {
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + exdays);
        var c_value = escape(value) + '; path=/' +((exdays==null) ? '' : '; expires='+exdate.toUTCString());
        document.cookie = c_name + '=' + c_value;
    }
    function getCookie(c_name) {
        var i,x,y,ARRcookies=document.cookie.split(';');
        for (i=0;i<ARRcookies.length;i++) {
            x=ARRcookies[i].substr(0,ARRcookies[i].indexOf('='));
            y=ARRcookies[i].substr(ARRcookies[i].indexOf('=')+1);
            x=x.replace(/^\s+|\s+$/g,'');
            if (x==c_name) {
                return unescape(y);
            }
        }
        return '';
    }
})(window, jQuery);