मिडियाविकी:Translit.js

विकिपीडिया, मुक्‍त ज्ञानकोशातून

नोंद: साठवून ठेवल्यानंतर बदल पहाण्यासाठी कदाचित तुमच्या ब्राऊजरच्या कॅचेला बायपास करावे लागेल.

  • फ़ायरफ़ॉक्स / सफ़ारी: धरुन ठेवा Shift टिचकी मारताना Reload, किंवा हे दाबताना Ctrl-F5 किंवा Ctrl-R (⌘-R मॅकवर)
  • गुगल क्रोम: दाबा Ctrl-Shift-R (⌘-Shift-R मॅकसाठी)
  • ओपेरा: कडे जा Menu → Settings (ओपेरा → पसंतीक्रम on a Mac) आणि मग गोपनियता आणि सुरक्षा → ब्राउजिंग डाटा काढून टाका → कॅचे छायाचित्रे आणि धारिणी.
/*
This script is a modified version of Alex benenson's cyrillic translitarator and this version was created by user Tatari

This script was copied from the new.wikipedia.org
*/
var amhaHash='{"k":"क्","क्a":"क","कa":"का","क्i":"कि","क्I":"की","किi":"किइ","केe":"की","क्u":"कु","क्U":"कू","कोo":"कू","कुu":"कू","क्e":"के","कi":"कै","क्o":"को","कu":"कौ","क्:":"कः","क:":"कः","क्O":"कॉ","कॉM":"काँ","क्E":"कॅ","कॅM":"कँ","क्R":"कृ","कृu":"कृ","कृU":"कॄ","कृओo":"कृऊ","कृl":"कॢ","कॢu":"कॢ","कॢU":"कॣ","कॢओo":"कॢऊ","क्M":"कं","क्h":"ख्","ख्a":"ख","खa":"खा","ख्i":"खि","ख्I":"खी","खिi":"खिइ","खेe":"खी","ख्u":"खु","ख्U":"खू","खोo":"खू","खुu":"खू","ख्e":"खे","खi":"खै","ख्o":"खो","खu":"खौ","ख्:":"खः","ख:":"खः","ख्O":"खॉ","खॉM":"खाँ","ख्E":"खॅ","खॅM":"खँ","ख्R":"खृ","खृu":"खृ","खृU":"खॄ","खृओo":"खृऊ","ख्M":"खं","खृl":"खॢ","खॢu":"खॢ","खॢU":"खॣ","खॢओo":"खॢऊ",';
amhaHash+='"g":"ग्","ग्a":"ग","गa":"गा","ग्i":"गि","ग्I":"गी","गिi":"गी","गेe":"गी","ग्u":"गु","ग्U":"गू","गोo":"गू","गुu":"गू","ग्e":"गे","गi":"गै","ग्o":"गो","गu":"गौ","ग्:":"गः","ग:":"गः","ग्O":"गॉ","गॉM":"गाँ","ग्E":"गॅ","गॅM":"गँ","ग्R":"गृ","गृu":"गृ","गृU":"गॄ","गृओo":"गॄ","ग्M":"गं","गृl":"गॢ","गॢu":"गॢ","गॢU":"गॣ","गॢo":"गॣ","ग्h":"घ्","घ्a":"घ","घa":"घा","घ्i":"घि","घ्I":"घी","घिi":"घी","घेe":"घी","घ्u":"घु","घ्U":"घू","घोo":"घू","घुu":"घू","घ्e":"घे","घi":"घै","घ्o":"घो","घu":"घौ","घ्:":"घः","घ:":"घः","घ्O":"घॉ","घॉM":"घाँ","घ्E":"घॅ","घॅM":"घँ","घ्R":"घृ","घृu":"घृ","घृU":"घॄ","घृओo":"घॄ","घ्M":"घं","घृl":"घॢ","घॢu":"घॢ","घॢU":"घॣ","घॢओo":"घॣ","G":"ङ्","ङ्a":"ङ","ङa":"ङा","ङ्i":"ङि","ङ्I":"ङी","ङिi":"ङी","ङेe":"ङी","ङ्u":"ङु","ङ्U":"ङू","ङोo":"ङू","ङुu":"ङू","ङ्e":"ङे","ङi":"ङै","ङ्o":"ङो","ङu":"ङौ","ङ्:":"ङः","ङ:":"ङः","ङ्O":"ङॉ","ङॉM":"ङाँ","ङ्E":"ङॅ","ङॅM":"ङँ","ङ्R":"ङृ","ङृu":"ङृ","ङृU":"ङॄ","ङृओo":"ङॄ","ङ्M":"ङं","ङृl":"ङॢ","ङॢu":"ङॢ","ङॢU":"ङॣ","ङॢओo":"ङॣ",';
amhaHash+='"c":"च्","ch":"च्","च्a":"च","चa":"चा","च्i":"चि","च्I":"ची","चिi":"ची","चेe":"ची","च्u":"चु","च्U":"चू","चोo":"चू","चुu":"चू","च्e":"चे","चi":"चै","च्o":"चो","चu":"चौ","च्:":"चः","च:":"चः","च्O":"चॉ","चॉM":"चाँ","च्E":"चॅ","चॅM":"चँ","च्R":"चृ","चृu":"चृ","चृU":"चॄ","चृओo":"चॄ","च्M":"चं","चृl":"चॢ","चॢu":"चॢ","चॢU":"चॣ","चॢओo":"चॣ",';
amhaHash+='"C":"छ्","च्ह्h":"छ्","छ्h":"छ्","छ्a":"छ","छa":"छा","छ्i":"छि","छ्I":"छी","छिi":"छी","छेe":"छी","छ्u":"छु","छ्U":"छू","छोo":"छू","छुu":"छू","छ्e":"छे","छi":"छै","छ्o":"छो","छu":"छौ","छ्:":"छः","छ:":"छः","छ्O":"छॉ","छॉM":"छाँ","छ्E":"छॅ","छॅM":"छँ","छ्R":"छृ","छृu":"छृ","छृU":"छॄ","छृओo":"छॄ","छ्M":"छं","छृl":"छॢ","छॢu":"छॢ","छॢU":"छॣ","छॢओo":"छॣ",';
amhaHash+='"j":"ज्","ज्a":"ज","जa":"जा","ज्i":"जि","ज्I":"जी","जिi":"जी","जेe":"जी","ज्u":"जु","ज्U":"जू","जोo":"जू","जुu":"जू","ज्e":"जे","जi":"जै","ज्o":"जो","जu":"जौ","ज्:":"जः","ज:":"जः","ज्O":"जॉ","जॉM":"जाँ","ज्E":"जॅ","जॅM":"जँ","ज्R":"जृ","जृu":"जृ","जृU":"जॄ","जृओo":"जॄ","ज्M":"जं","जृl":"जॢ","जॢu":"जॢ","जॢU":"जॣ","जॢओo":"जॣ","ज्h":"झ्","झ्a":"झ","झa":"झा","झ्i":"झि","झ्I":"झी","झिi":"झी","झेe":"झी","झ्u":"झु","झ्U":"झू","झोo":"झू","झुu":"झू","झ्e":"झे","झi":"झै","झ्o":"झो","झu":"झौ","झ्:":"ञः","झ्a:":"झः","झ्O":"झॉ","झॉM":"झाँ","झ्E":"झॅ","झॅM":"झँ","झ्R":"झृ","झृu":"झृ","झृU":"झॄ","झृओo":"झॄ","झ्M":"झं","झृl":"झॢ","झॢu":"झॢ","झॢU":"झॣ","झॢओo":"झॣ",';
amhaHash+='"z":"झ्","झ:":"झः","Z":"झ्","Y":"ञ्","ञ्a":"ञ","ञa":"ञा","ञ्i":"ञि","ञ्I":"ञी","ञिi":"ञी","ञेe":"ञी","ञ्u":"ञु","ञ्U":"ञू","ञोo":"ञू","ञुu":"ञू","ञ्e":"ञे","ञi":"ञै","ञ्o":"ञो","ञu":"ञौ","ञ:":"ञः","ञ्O":"ञॉ","ञॉM":"ञाँ","ञ्E":"ञॅ","ञॅM":"ञँ","ञ्R":"ञृ","ञृu":"ञृ","ञृU":"ञॄ","ञृओo":"ञॄ","ञ्M":"ञं","ञृl":"ञॢ","ञॢu":"ञॢ","ञॢU":"ञॣ","ञॢओo":"ञॣ",';
amhaHash+='"T":"ट्","ट्a":"ट","टa":"टा","ट्i":"टि","ट्I":"टी","टिi":"टी","टेe":"टी","ट्u":"टु","ट्U":"टू","टोo":"टू","टुu":"टू","ट्e":"टे","टi":"टै","ट्o":"टो","टu":"टौ","ट्:":"टः","ट:":"टः","ट्O":"टॉ","टॉM":"टाँ","ट्E":"टॅ","टॅM":"टँ","ट्R":"टृ","टृu":"टृ","टृU":"टॄ","टृओo":"टॄ","ट्M":"टं","टृl":"टॢ","टॢu":"टॢ","टॢU":"टॣ","टॢओo":"टॣ","ट्h":"ठ्","ठ्a":"ठ","ठa":"ठा","ठ्i":"ठि","ठ्I":"ठी","ठिi":"ठी","ठेe":"ठी","ठ्u":"ठु","ठ्U":"ठू","ठोo":"ठू","ठुu":"ठू","ठ्e":"ठे","ठi":"ठै","ठ्o":"ठो","ठu":"ठौ","ठ्:":"ठः","ठ्a:":"ठः","ठ्O":"ठॉ","ठॉM":"ठाँ","ठ्E":"ठॅ","ठॅM":"ठँ","ठ्R":"ठृ","ठृu":"ठृ","ठृU":"ठॄ","ठृओo":"ठॄ","ठ्M":"ठं","ठृl":"ठॢ","ठॢu":"ठॢ","ठॢU":"ठॣ","ठॢओo":"ठॣ",';
amhaHash+='"D":"ड्","ड्a":"ड","डa":"डा","ड्i":"डि","ड्I":"डी","डिi":"डी","डेe":"डी","ड्u":"डु","ड्U":"डू","डोo":"डू","डुu":"डू","ड्e":"डे","डi":"डै","ड्o":"डो","डu":"डौ","ड्:":"डः","ड:":"डः","ड्O":"डॉ","डॉM":"ऑाँ","ड्E":"डॅ","डॅM":"डँ","ड्R":"डृ","डृu":"डृ","डृU":"डॄ","डृओo":"डॄ","ड्M":"डं","डृl":"डॢ","डॢu":"डॢ","डॢU":"डॣ","डॢओo":"डॣ","ड्h":"ढ्","ढ्a":"ढ","ढa":"ढा","ढ्i":"ढि","ढ्I":"ढी","ढिi":"ढी","ढेe":"ढी","ढ्u":"ढु","ढ्U":"ढू","ढोo":"ढू","ढुu":"ढू","ढ्e":"ढे","ढi":"ढै","ढ्o":"ढो","ढu":"ढौ","ढ्:":"ढः","ढ्a:":"ढः","ढ्O":"ढॉ","ढॉM":"ढाँ","ढ्E":"ढॅ","ढॅM":"ढँ","ढ्R":"ढृ","ढृu":"ढृ","ढृU":"ढॄ","ढृओo":"ढॄ","ढ्M":"ढं","ढृl":"ढॢ","ढॢu":"ढॢ","ढॢU":"ढॣ","ढॢओo":"ढॣ",';
amhaHash+='"N":"ण्","ण्a":"ण","णa":"णा","ण्i":"णि","ण्I":"णी","णिi":"णी","णेe":"णी","ण्u":"णु","ण्U":"णू","णोo":"णू","णुu":"णू","ण्e":"णे","णi":"णै","ण्o":"णो","णu":"णौ","ण्:":"णः","ण:":"णः","ण्O":"णॉ","णॉM":"णाँ","ण्E":"णॅ","णॅM":"णँ","ण्R":"णृ","णृu":"णृ","णृU":"णॄ","णृओo":"णॄ","ण्M":"णं","णृl":"णॢ","णॢu":"णॢ","णॢU":"णॣ","णॢओo":"णॣ",';
amhaHash+='"t":"त्","त्a":"त","तa":"ता","त्i":"ति","त्I":"ती","तिi":"ती","तेe":"ती","त्u":"तु","त्U":"तू","तोo":"तू","तुu":"तू","त्e":"ते","तi":"तै","त्o":"तो","तu":"तौ","त्:":"तः","त:":"तः","त्O":"तॉ","तॉM":"ताँ","त्E":"तॅ","तॅM":"तँ","त्R":"तृ","तृu":"तृ","तृU":"तॄ","तृओo":"तॄ","त्M":"तं","तृl":"तॢ","तॢu":"तॢ","तॢU":"तॣ","तॢओo":"तॣ","त्h":"थ्","थ्a":"थ","थa":"था","थ्i":"थि","थ्I":"थी","थिi":"थी","थेe":"थी","थ्u":"थु","थ्U":"थू","थोo":"थू","थुu":"थू","थ्e":"थे","थi":"थै","थ्o":"थो","थu":"थौ","थ्:":"थः","थ्a:":"थः","थ्O":"थॉ","थॉM":"थाँ","थ्E":"थॅ","थॅM":"थँ","थ्R":"थृ","थृu":"थृ","थृU":"थॄ","थृओo":"थॄ","थ्M":"थं","थृl":"थॢ","थॢu":"थॢ","थॢU":"थॣ","थॢओo":"थॣ",';
amhaHash+='"d":"द्","द्a":"द","दa":"दा","द्i":"दि","द्I":"दी","दिi":"दी","देe":"दी","द्u":"दु","द्U":"दू","दोo":"दू","दुu":"दू","द्e":"दे","दi":"दै","द्o":"दो","दu":"दौ","द्:":"दः","द:":"दः","द्O":"दॉ","दॉM":"दाँ","द्E":"दॅ","दॅM":"दँ","द्R":"दृ","दृu":"दृ","दृU":"दॄ","दृओo":"दॄ","द्M":"दं","दृl":"दॢ","दॢu":"दॢ","दॢU":"दॣ","दॢओo":"दॣ","द्h":"ध्","ध्a":"ध","धa":"धा","ध्i":"धि","ध्I":"धी","धिi":"धी","धेe":"धी","ध्u":"धु","ध्U":"धू","धोo":"धू","धुu":"धू","ध्e":"धे","धi":"धै","ध्o":"धो","धu":"धौ","ध्:":"धः","ध्a:":"धः","ध्O":"धॉ","धॉM":"धाँ","ध्E":"धॅ","धेM":"धें","धेंM":"धेँ","ध्R":"धृ","धृu":"धृ","धृU":"धॄ","धृओo":"धॄ","ध्M":"धं","धृl":"धॢ","धॢu":"धॢ","धॢU":"धॣ","धॢओo":"धॣ",';
amhaHash+='"n":"न्","न्a":"न","नa":"ना","न्i":"नि","न्I":"नी","निi":"नी","नेe":"नी","न्u":"नु","न्U":"नू","नोo":"नू","नुu":"नू","न्e":"ने","नi":"नै","न्o":"नो","नu":"नौ","न्:":"नः","न:":"नः","न्O":"नॉ","नॉM":"नाँ","न्E":"नॅ","नॅM":"नँ","न्R":"नृ","नृu":"नृ","नृU":"नॄ","नृओo":"नॄ","न्M":"नं","नृl":"नॢ","नॢu":"नॢ","नॢU":"नॣ","नॢओo":"नॣ",';
amhaHash+='"p":"प्","प्a":"प","पa":"पा","प्i":"पि","प्I":"पी","पिi":"पी","पेe":"पी","प्u":"पु","प्U":"पू","पोo":"पू","पुu":"पू","प्e":"पे","पi":"पै","प्o":"पो","पu":"पौ","प्:":"पः","प:":"पः","प्O":"पॉ","पॉM":"पाँ","प्E":"पॅ","पॅM":"पँ","प्R":"पृ","पृu":"पृ","पृU":"पॄ","पृओo":"पॄ","प्M":"पं","पृl":"पॢ","पॢu":"पॢ","पॢU":"पॣ","पॢओo":"पॣ",';
amhaHash+='"P":"प्","प्a:":"पः","प्h":"फ्","फ्a":"फ","फa":"फा","फ्i":"फि","फ्I":"फी","फिi":"फी","फिe":"फी","फ्u":"फु","फ्U":"फू","फोo":"फू","फ्uu":"फू","फ्e":"फे","फेe":"फी","फi":"फै","फ्o":"फो","फu":"फौ","फ्:":"फः","फ्a:":"फः","फ्O":"फॉ","फॉM":"फाँ","फ्E":"फॅ","फॅM":"फँ","फ्R":"फृ","फृu":"फृ","फृU":"फॄ","फृओo":"फॄ","फ्M":"फं","फृl":"फॢ","फॢu":"फॢ","फॢU":"फॣ","फॢओo":"फॣ",';
amhaHash+='"f":"फ्","F":"फ्","b":"ब्","ब्a":"ब","बa":"बा","ब्i":"बि","ब्I":"बी","बिi":"बी","बेe":"बी","ब्u":"बु","ब्U":"बू","बोo":"बू","बुu":"बू","ब्e":"बे","बi":"बै","ब्o":"बो","बu":"बौ","ब्:":"बः","ब:":"बः","ब्O":"बॉ","बॉM":"बाँ","ब्E":"बॅ","बॅM":"बँ","ब्R":"बृ","बृu":"बृ","बृU":"बॄ","बृओo":"बॄ","ब्M":"बं","बृl":"बॢ","बॢu":"बॢ","बॢU":"बॣ","बॢओo":"बॣ",';
amhaHash+='"B":"ब्","ब्h":"भ्","भ्a":"भ","भa":"भा","भ्i":"भि","भ्I":"भी","भिi":"भी","भेe":"भी","भ्u":"भु","भ्U":"भू","भोo":"भू","भुu":"भू","भ्e":"भे","भi":"भै","भ्o":"भो","भu":"भौ","भ्:":"भः","भ्a:":"भः","भ्O":"भॉ","भॉM":"भाँ","भ्E":"भॅ","भॅM":"भँ","भ्R":"भृ","भृu":"भृ","भृU":"भॄ","भृओo":"भॄ","भ्M":"भं","भृl":"भॢ","भॢu":"भॢ","भॢU":"भॣ","भॢओo":"भॣ","U092DU094D":"भ्",';
amhaHash+='"m":"म्","म्a":"म","मa":"मा","म्i":"मि","म्I":"मी","मिi":"मी","मेe":"मी","म्u":"मु","म्U":"मू","मोo":"मू","मुu":"मू","म्e":"मे","मi":"मै","म्o":"मो","मu":"मौ","म्:":"मः","म:":"मः","म्O":"मॉ","मॉM":"माँ","म्E":"मॅ","मॅM":"मँ","म्R":"मृ","मृu":"मृ","मृU":"मॄ","मृओo":"मॄ","म्M":"मं","मृl":"मॢ","मॢu":"मॢ","मॢU":"मॣ","मॢओo":"मॣ",';
amhaHash+='"y":"य्","य्a":"य","यa":"या","य्i":"यि","य्I":"यी","यिi":"यी","येe":"यी","य्u":"यु","य्U":"यू","योo":"यू","युu":"यू","य्e":"ये","यi":"यै","य्o":"यो","यu":"यौ","य्:":"यः","य:":"यः","य्O":"यॉ","यॉM":"याँ","य्E":"यॅ","यॅM":"यँ","य्R":"यृ","यृu":"यृ","यृU":"यॄ","यृओo":"यॄ","य्M":"यं","यृl":"यॢ","यॢu":"यॢ","यॢU":"यॣ","यॢओo":"यॣ",';
amhaHash+='"r":"र्","र्r":"र्‍","र्a":"र","रa":"रा","र्i":"रि","र्I":"री","रिi":"री","रेe":"री","र्u":"रु","र्U":"रू","रोo":"रू","रुu":"रू","र्e":"रे","रi":"रै","र्o":"रो","रu":"रौ","र्:":"रः","र:":"रः","र्O":"रॉ","रॉM":"राँ","र्E":"रॅ","रॅM":"रँ","र्M":"रं","रॢ":"रॢ","रॢu":"रॢ","रॢU":"रॣ","रॢओo":"रॣ","र्R":"रृ","रृu":"रृ","रृU":"रॄ","रृओo":"रॄ",';
amhaHash+='"l":"ल्","ल्a":"ल","लa":"ला","ल्i":"लि","ल्I":"ली","लिi":"ली","लेe":"ली","ल्u":"लु","ल्U":"लू","लोo":"लू","लुu":"लू","ल्e":"ले","लi":"लै","ल्o":"लो","लu":"लौ","ल्:":"लः","ल:":"लः","ल्O":"लॉ","लॉM":"लाँ","ल्E":"लॅ","लॅM":"लँ","ल्R":"लृ","लृu":"लृ","लृU":"लॄ","लृओo":"लॄ","ल्M":"लं","लृl":"लॢ","लॢu":"लॢ","लॢU":"लॣ","लॢओo":"लॣ",';
amhaHash+='"v":"व्","व्a":"व","वa":"वा","व्i":"वि","व्I":"वी","विi":"वी","वेe":"वी","व्u":"वु","व्U":"वू","वोo":"वू","वुu":"वू","व्e":"वे","वi":"वै","व्o":"वो","वu":"वौ","व्:":"वः","व:":"वः","व्O":"वॉ","वॉM":"वाँ","व्E":"वॅ","वॅM":"वँ","व्R":"वृ","वृu":"वृ","वृU":"वॄ","वृओo":"वृU","व्M":"वं","वृl":"वॢ","\u0935\u0962u":"वॢ","\u0935\u0962U":"वॣ","\u0935\u0962ओo":"वॣ",';
amhaHash+='"V":"व्","w":"व्","W":"व्","स्h":"श्","श्a":"श","शa":"शा","श्i":"शि","श्I":"शी","शिi":"शी","शेe":"शी","श्u":"शु","श्U":"शू","शोo":"शू","शुu":"शू","श्e":"शे","शi":"शै","श्o":"शो","शu":"शौ","श्:":"शः","श्a:":"शः","श्O":"शॉ","शॉM":"शाँ","श्E":"शॅ","शॅM":"शँ","श्rR":"शरृ","शरृu":"शरृ","शरृU":"शरॄ","शरृoo":"शरॄ","श्R":"शृ","शृu":"शृ","शृU":"शॄ","शृओo":"शॄ","श्M":"शं","शृl":"शॢ","शॢu":"शॢ","शॢU":"शॣ","शॢओo":"शॣ","श्h":"ष्","ष्a":"ष","षa":"षा","ष्i":"षि","ष्I":"षी","षिi":"षी","षेe":"षी","ष्u":"षु","ष्U":"षू","षोo":"षू","षुu":"षू","ष्e":"षे","षi":"षै","ष्o":"षो","षu":"षौ","ष्:":"षः","ष:":"षः","ष्O":"षॉ","षॉM":"षाँ","ष्E":"षॅ","षॅM":"षँ","ष्R":"षृ","षृu":"षृ","षृU":"षॄ","षृओo":"षॄ","ष्M":"षं","षृl":"षॢ","षॢu":"षॢ","षॢU":"षॣ","षॢओo":"षॣ","ष्h":"ष्",';
amhaHash+='"s":"स्","स्a":"स","सa":"सा","स्i":"सि","स्I":"सी","सिi":"सी","सेe":"सी","स्u":"सु","स्U":"सू","सोo":"सू","सुu":"सू","स्e":"से","सi":"सै","स्o":"सो","सu":"सौ","स:":"सः","सा:":"सः","स्O":"सॉ","सॉM":"साँ","स्E":"सॅ","सॅM":"सँ","स्R":"सृ","सृu":"सृ","सृU":"सॄ","सृओo":"सॄ","स्M":"सं","सृl":"सॢ","सॢu":"सॢ","सॢU":"सॣ","सॢओo":"सॣ",';
amhaHash+='"S":"श्","h":"ह्","ह्a":"ह","हa":"हा","ह्i":"हि","ह्I":"ही","हिi":"ही","हेe":"ही","ह्u":"हु","ह्U":"हू","होo":"हू","हुu":"हू","ह्e":"हे","हi":"है","ह्o":"हो","हu":"हौ","ह्:":"हः","ह:":"हः","ह्O":"हॉ","हॉM":"हाँ","ह्E":"हॅ","हॅM":"हँ","ह्R":"हृ","हृu":"हृ","हृU":"हॄ","हृओo":"हॄ","ह्M":"हं","हृl":"हॢ","हॢu":"हॢ","हॢU":"हॣ","हॢओo":"हॣ",';
amhaHash+='"L":"ळ्","ळ्a":"ळ","ळa":"ळा","ळ्i":"ळि","ळ्I":"ळी","ळिi":"ळी","ळेe":"ळी","ळ्u":"ळु","ळ्U":"ळू","ळोo":"ळू","ळुu":"ळू","ळ्e":"ळे","ळi":"ळै","ळ्o":"ळो","ळu":"ळौ","ळ्:":"ळः","ळ:":"ळः","ळ्O":"ळॉ","ळॉM":"ळाँ","ळ्E":"ळॅ","ळॅM":"ळँ","ळ्R":"ळृ","ळृu":"ळृ","ळृU":"ळॄ","ळृओo":"ळॄ","ळ्M":"ळं","ळृl":"ळॢ","ळॢu":"ळॢ","ळॢU":"ळॣ","ळॢओo":"ळॣ",';
amhaHash+='"x":"क्ष्","क्ष्a":"क्ष","क्षa":"क्षा","क्ष्i":"क्षि","क्ष्I":"क्षी","क्षिi":"क्षी","क्षेe":"क्षी","क्ष्u":"क्षु","क्ष्U":"क्षू","क्षोo":"क्षू","क्षुu":"क्षू","क्ष्e":"क्षे","क्षi":"क्षै","क्ष्o":"क्षो","क्षu":"क्षौ","क्ष्:":"क्षः","क्ष:":"क्षः","क्ष्O":"क्षॉ","क्षॉM":"क्षाँ","क्ष्E":"क्षॅ","क्षॅM":"क्षँ","क्ष्R":"क्षृ","क्षृu":"क्षृ","क्षृU":"क्षॄ","क्षृओo":"क्षॄ","क्ष्M":"क्षं","क्षृl":"क्षॢ","क्षॢu":"क्षॢ","क्षॢU":"क्षॣ","क्षॢओo":"क्षॣ",';
amhaHash+='"X":"क्ष्","़n":"ज्ञ्","ङ्y":"ज्ञ्","ज्ञ्a":"ज्ञ","ज्ञa":"ज्ञा","ज्ञ्i":"ज्ञि","ज्ञ्I":"ज्ञी","ज्ञिi":"ज्ञी","ज्ञेe":"ज्ञी","ज्ञ्u":"ज्ञु","ज्ञ्U":"ज्ञू","ज्ञोo":"ज्ञू","ज्ञुu":"ज्ञू","ज्ञ्e":"ज्ञे","ज्ञi":"ज्ञै","ज्ञ्o":"ज्ञो","ज्ञu":"ज्ञौ","ज्ञ्:":"ज्ञः","ज्ञ्a:":"ज्ञः","ज्ञ्O":"ज्ञॉ","ज्ञॉM":"ज्ञाँ","ज्ञ्E":"ज्ञॅ","ज्ञॅM":"ज्ञँ","ज्ञ्R":"ज्ञृ","ज्ञृu":"ज्ञृ","ज्ञृU":"ज्ञॄ","ज्ञृओo":"ज्ञॄ","ज्ञ्M":"ज्ञं","ज्ञृl":"ज्ञॢ","ज्ञॢu":"ज्ञॢ","ज्ञॢU":"ज्ञॣ","ज्ञॢओo":"ज्ञॣ",';
amhaHash+='"a":"अ","ऑm":"ॐ","अa":"आ","A":"आ","i":"इ","I":"ई","इi":"ई","एe":"ऐ","u":"उ","उu":"ऊ","U":"ऊ","ओo":"औ","e":"ए","अi":"ऐ","o":"ओ","अu":"औ","H":"ः","M":"ं","ंM":"ँ","E":"ऍ","ऍM":"अँ","O":"ऑ","ऑM":"आँ","आU":"ऑ","ऋl":"ॡ","ॡu":"ॡ","R":"ऋ","ऋi":"ऋ","ऋu":"ऋ","ऋU":"ॠ","ऋओo":"ॠ","ऋI":"ॠ","ऋइi":"ॠ","अ~":"ऽ","ःH":"‌","q":"॑","॑q":"॒","Q":"॓","॓Q":"॔","J":"़","K":"़","C":"॰","z":"।","।z":"॥","0":"०","1":"१","2":"२","3":"३","4":"४","5":"५","6":"६","7":"७","8":"८","9":"९"}';




// for compatibility with bookmarklets
function cyr_translit(src) {
	return to_cyrillic(src);
}

var conversionHash = undefined;
var maxcyrlength = 0;

function getConversionHash() {
	if (conversionHash == undefined) {
		conversionHash = eval("("+amhaHash+")");
		 maxcyrlength=6;
	}

	return conversionHash;
}


function to_cyrillic(src, output, chunks) {
	if (src == undefined || src == "" || src == null)
		return src;
	if (output == undefined)
		output = new String();

	var hash = getConversionHash();
	
	var location = 0;
	
	while (location < src.length) {
		var len = Math.min(maxcyrlength, src.length - location);
		var arr = undefined;
		var sub;
		while (len > 0) {
			sub = src.substr(location, len);
			arr = hash[sub];
			if (arr != undefined) 
				break;
			else 
				len--;
		}
		
		// need this for translit on the fly
		if (chunks != undefined)
			chunks[chunks.length] = sub;
			
		if (arr == undefined) {
			output += sub;
			location ++;
		}
		else {

			// case analysis
			var newChar = arr;
			
			if (sub.toLowerCase() == sub.toUpperCase() && arr.length > 1 && arr[1] && (newChar.toUpperCase() != newChar.toLowerCase())) {
			
				// need translit hash to determine if previous character (and possibly the one before it) 
				// were converted and are in upper case
				
				// set prevDud to true previous is not a translated character or simply a blank
				// set prevCap to true if previous was translated and was upper case

				var prevCh = output.length == 0 ? null : output.substr(output.length - 1, 1);
				var prevDud = !prevCh || !getTranslitString(prevCh);
				var prevCap = (!prevDud && prevCh == prevCh.toUpperCase());

				// sub is caseless but result isn't. case will depend on lookbehind and lookahead
				if (prevDud || !prevCap) {
					output += newChar.toLowerCase();
					prevCap = false;
				}
				else {
					var next = " ";
					if (location + len < src.length)
						next = src.substr(location + len, 1);

					if (next != next.toUpperCase() && next == next.toLowerCase() ) {
						//next is lowercase (and not caseless)
						output += newChar.toLowerCase();
					}
					else if (next == next.toUpperCase() && next != next.toLowerCase() ) {
						// next is uppercase (and not caseless)
						output += newChar.toUpperCase();
					}
					else {
						// next is caseless. output case determined by the case of output[length - 2]
						var pprevCh = output.length == 1 ? null : output.substr(output.length - 2, 1);
						var pprevDud = !pprevCh || !getTranslitString(pprevCh);
						if (!pprevDud && (pprevCh == pprevCh.toUpperCase())) {
							//pre-prev is in upper case. output is also uppercase
							output += newChar.toUpperCase();
						}
						else {
						    output += newChar.toLowerCase();
						}
						
					}
				}
					
			}
			else if ((sub.toLowerCase() == sub.toUpperCase()) && (arr.length < 2 || !arr[1])) {
				
				// literal treatment of newChar
				output += newChar;

			}
			else if (sub != sub.toLowerCase()) {
			
				// sub not all-lowercase
				output += newChar.toUpperCase();
			}
			else {
					
					
					
				// sub is lowercase
			    output += newChar.toLowerCase();
			}
			location += len;
		}
	}
	
	return output;
}



function convertIt(src,converter){
 var resultbuffer=""; 
	for(var i=0;i<src.length;i++){
	resultbuffer=converter(resultbuffer+src[i]);
	}
        return converter(resultbuffer);

}



var translitHash = undefined;

function initTranslit() {
	if (translitHash == undefined) {
		translitHash = new Array();

		for (var i = 0; i < conversionHash.length; i++) {
			var ch = conversionHash[i][1];
			// if the translit string is not caseless, convert cyr string to upper case
			// otherwise maintain its case
			if (conversionHash[i][0].toUpperCase() != conversionHash[i][0].toLowerCase())
				ch = ch.toUpperCase();
				
			if (translitHash[ch] == undefined)
				translitHash[ch] = conversionHash[i][0];
		}
	}
}




//-- translit on-the-fly -- 

function replaceValue(node, value, stepback) {
	if (stepback == undefined)
		stepback = 0;
		
	if (isExplorer()) {
		var range = document.selection.createRange();
		range.moveStart("character", -stepback);
		range.text = value;
		range.collapse(false);
		range.select();
	}
	else {
		var scrollTop = node.scrollTop;
		var cursorLoc =  node.selectionStart;
		node.value = node.value.substring(0, node.selectionStart - stepback) + value + 
                node.value.substring(node.selectionEnd, node.value.length);
		node.scrollTop = scrollTop;
		node.selectionStart = cursorLoc + value.length - stepback;
		node.selectionEnd = cursorLoc + value.length - stepback;
	}
}


// compare positions
function positionIsEqual(other) {
	if (isExplorer())
		return this.position.isEqual(other.position);
	else
		return this.position == other.position;
  
}

function Position(node) {
  if (node.selectionStart != undefined)
	this.position = node.selectionStart;
  else if (document.selection && document.selection.createRange())
    this.position = document.selection.createRange();
    
  this.isEqual = positionIsEqual;
}

function resetState() {
	this.position = new Position(this.node);
	this.transBuffer = "";
	this.cyrBuffer = "";
}

function StateObject(node) {
	this.node = node;
	this.reset = resetState;
	this.cyrBuffer = "";
	this.transBuffer = "";
	this.position = new Position(node);
}


var stateHash = new Array();

function isExplorer() {
  return (document.selection != undefined && document.selection.createRange().isEqual != undefined);
}

function pressedKey(event) {
  if (isExplorer())
	return event.keyCode;
  else
    return event.which;
}

function translitonkey(event) {
     /*
	if ((event.keyCode == 255 && event.charCode > 0) || event.keyCode == 8) {
		return;
	}
    */
    
    if (event == undefined)
		event = window.event;
    
	var node = null;
	if (event.target)
		node = event.target;
	else if (event.srcElement)
		node = event.srcElement;
		
	
	
	// initialize state
	var state = stateHash[node];
	if (state == null) {
		state = new StateObject(node);
		stateHash[node] = state;
	}
	if ( (pressedKey(event) > 20) && !event.ctrlKey && !event.altKey && !event.metaKey) {

		var c = String.fromCharCode(pressedKey(event));

		// process input
		var result = process_translit(state, c);
		// finish up
		if (c != result.out || result.replace != 0) {
		  if (isExplorer())
			event.returnValue = false;
		  else
		    event.preventDefault();
		  
		  replaceValue(node, result.out, result.replace);
		  
		  state.position = new Position(node);

		}
	}
	
}

function TranslitResult() {
	this.out = "";
	this.replace = 0;
}

function process_translit(state, c) {
	// reset state if position changed
	if (!state.position.isEqual(new Position(state.node)))
		state.reset();
		
	var result = new TranslitResult();
	
	// initial backbuffer. Add to it as characters are converted
	var backbuffer = getBackBuffer(state.node, state.cyrBuffer.length, 2);
	var chunks = new Array();
	
	state.transBuffer = state.transBuffer+ c

	var str = to_cyrillic(state.cyrBuffer+c, backbuffer, chunks);

	// remove backbuffer from output
	str = str.substr(backbuffer.length);
	result.out = str; 
	/* str is now left alone - it has the output matching contents of chunks and 
	   will be used to reinitialize backbuffers, along with chunks and state.transBuffer
	*/
	
	// get the difference between state.cyrBuffer and output
	for (var i = 0; i < Math.min(state.cyrBuffer.length, result.out.length); i++) {
		if (state.cyrBuffer.substr(i, 1) != result.out.substr(i, 1)) {
			result.replace = state.cyrBuffer.length - i;
			result.out = result.out.substr(i);
			break;
		}
	}
	if (result.replace == 0) {
               if(result.out.length<state.cyrBuffer.length)
				result.replace=state.cyrBuffer.length- result.out.length;
		result.out = result.out.substr(Math.min(state.cyrBuffer.length, result.out.length));
                 
                       //    result.out+="\u0008"
                         
	}
	
	// update state: backbuffer, bufferArray
	if (chunks.length > 0 && chunks[chunks.length - 1] == result.out.substr(result.out.length - 1)) {
		// no convertion took place, reset state
		state.reset();
	}
	else {
		while (state.transBuffer.length > maxcyrlength) {
			state.transBuffer = state.transBuffer.substr(chunks[0].length);
			chunks.shift();
			str = str.substr(1);
		}
		state.cyrBuffer = str;
	}
	return result;
}

function getBackBuffer(node, offset, count) {
		
	if (isExplorer()) { //.tagName.toUpperCase() == "EDITOR") {
	
		var range = document.selection.createRange();
		range.moveStart("character", -offset);
		var result = range.text.substr(-count);
		if (!result)
			result = "";
			
		return result;

	} else {
		return node.value.substring(0, node.selectionStart - offset).substr(-count);
	}
}

// need this for bookmarklets
function getSelectedNode() {
  if (document.activeElement)
	return document.activeElement;
  else
    if (window.getSelection && window.getSelection() && window.getSelection().rangeCount > 0) {
		var range = window.getSelection().getRangeAt(0);
		if (range.startContainer && range.startContainer.childNodes && range.startContainer.childNodes.length > range.startOffset)
			return range.startContainer.childNodes[range.startOffset]
    }
  return null;
}

function toggleCyrMode() {
	var node = getSelectedNode();
	if (node) {
		if (stateHash[node]) {
			if (removeKeyEventListener(node))
				delete stateHash[node];
		}
		else {
			if (addKeyEventListener(node))
				stateHash[node] = new StateObject(node);
		}
	}
}

function addKeyEventListener(node) {
	if (node.addEventListener)
		node.addEventListener("keypress", translitonkey, false);
	else if (node.attachEvent)
	    node.attachEvent("onkeypress", translitonkey);
	else return false;
	return true;
}
function removeKeyEventListener(node) {
	if (node.removeEventListener)
		node.removeEventListener("keypress", translitonkey, false);
	else if (node.detachEvent)
		node.detachEvent("onkeypress", translitonkey);
	else return false;
	return true;
}

function getSelectedText() {
	if (isExplorer()) {
		return document.selection.createRange().text;
	}
	else {
		var node = getSelectedNode();
		if (node && node.value && node.selectionStart != undefined && node.selectionEnd != undefined)
			return node.value.substring(node.selectionStart, node.selectionEnd);
	}
	return "";
}