මාධ්‍යවිකි සාකච්ඡාව:Translit.js

Page contents not supported in other languages.
මාතෘකාවක් එක්කරන්න
Wiktionary වෙතින්

/* This script is a modified version of Alex benenson's cyrillic translitarator and this version was created by user Tatari සිංග්ලිෂ් සඳහා පරිශීලක:බිඟුවා විසින් වෙන්ස් කරන ලදී. මෙය ක්‍රියාත්මකවීමට මාධ්‍යවිකි:Monobook.js‎ හි අදාළ වෙනස්කම් කළ යුතුය. කිසියම් වෙනසක් සිදුකිරීමට අවැසි නම් කරුණාකර පරිපාලකයකුතට හෝ පරිශීලක:බිඟුවාහට දන්වන්න.

මෙහි අකුරු සංයෝජනය භාවිතා කර ඇත. http://ucsc.cmb.ac.lk/ltrl/services/feconverter/t2.html

a අ aa ආ A ඇ Aa ඈ i ඉ ii ඊ u උ uu ඌ e එ ee ඒ o ඔ oo ඕ ou ඖ R ඍ Ru ඍ I ඓ

x ං X ඃ

k ක c ච T ට t ත p ප K ඛ ch ඡ Th ඨ th ථ P ඵ g ග j ජ D ඩ d ද b බ gh ඝ jh ඣ Dh ඪ dh ධ bh භ KN ඤ N ණ n න m ම

y ය r ර l ල w ව S ශ sh ෂ s ස h හ L ළ f ෆ

G ඟ DN ඳ dn B ඹ

kr ක්‍ර pr ප්‍ර dr ද්‍ර gr ග්‍ර

ඳා

  • /

var amhaHash='{"k":"ක්","ක්a":"ක","කa":"කා","ක්A":"කැ","කැa":"කෑ","ක්i":"කි","කිi":"කී","ක්u":"කු","කුu":"කූ","ක්e":"කෙ","කෙa":"කේ","ක්o":"කො","කොe":"කෝ","කu":"කෞ","ක්R":"කෘ","කෘu":"කෲ","ක්I":"කෛ","ක්Y":"ක්‍ය",'; amhaHash+='"ක්r":"ක්‍ර","ක්‍රa":"ක්‍රා","ක්‍රA":"ක්‍රැ","ක්‍රැa":"ක්‍රෑ","ක්‍රi":"ක්‍රි","ක්‍රිi":"ක්‍රී","ක්‍රu":"කෘ","කෘu":"කෲ","ක්‍රe":"ක්‍රෙ","ක්‍රෙa":"ක්‍රේ","ක්‍රo":"ක්‍රො","ක්‍රොe":"ක්‍රෝ",';amhaHash+='"ක්Y":"ක්‍ය්","ක්‍ය්a":"ක්‍ය","ක්‍යa":"ක්‍යා","ක්‍ය්A":"ක්‍යැ","ක්‍යැa":"ක්‍යෑ","ක්‍ය්i":"ක්‍යි","ක්‍යිi":"ක්‍යී","ක්‍ය්u":"ක්‍යු","ක්‍යුu":"ක්‍යූ","ක්‍ය්e":"ක්‍යෙ","ක්‍යෙa":"ක්‍යේ","ක්‍ය්o":"ක්‍යො","ක්‍යොe":"ක්‍යෝ",'; amhaHash+='"K":"ඛ්","ඛ්a":"ඛ","ඛa":"ඛා","ඛ්A":"ඛැ","ඛැa":"ඛෑ","ඛ්i":"ඛි","ඛිi":"ඛී","ඛ්u":"ඛු","ඛුu":"ඛූ","ඛ්e":"ඛෙ","ඛෙa":"ඛේ","ඛ්o":"ඛො","ඛොe":"ඛෝ","ඛu":"ඛෞ","ඛ්R":"ඛෘ","ඛෘu":"ඛෲ","ඛ්I":"ඛෛ",'; amhaHash+='"g":"ග්","ග්a":"ග","ගa":"ගා","ග්A":"ගැ","ගැa":"ගෑ","ග්i":"ගි","ගිi":"ගී","ග්u":"ගු","ගුu":"ගූ","ග්e":"ගෙ","ගෙa":"ගේ","ග්o":"ගො","ගොe":"ගෝ","ගu":"ගෞ","ග්R":"ගෘ","ගෘu":"ගෲ","ග්I":"ගෛ",'; amhaHash+='"ග්r":"ග්‍ර","ග්‍රa":"ග්‍රා","ග්‍රA":"ග්‍රැ","ග්‍රැa":"ග්‍රෑ","ග්‍රi":"ග්‍රි","ග්‍රිi":"ග්‍රී","ග්‍රu":"ගෘ","ගෘu":"ගෲ","ග්‍රe":"ග්‍රෙ","ග්‍රෙa":"ග්‍රේ","ග්‍රo":"ග්‍රො","ග්‍රොe":"ග්‍රෝ",'; amhaHash+='"ග්Y":"ග්‍ය්","ග්‍ය්a":"ග්‍ය","ග්‍යa":"ග්‍යා","ග්‍ය්A":"ග්‍යැ","ග්‍යැa":"ග්‍යෑ","ග්‍ය්i":"ග්‍යි","ග්‍යිi":"ග්‍යී","ග්‍ය්u":"ග්‍යු","ග්‍යුu":"ග්‍යූ","ග්‍ය්e":"ග්‍යෙ","ග්‍යෙa":"යේ","ග්‍ය්o":"ග්‍යො","ග්‍යොe":"ග්‍යෝ",';

amhaHash+='"ග්h":"ඝ්","ඝ්a":"ඝ","ඝa":"ඝා","ඝ්A":"ඝැ","ඝැa":"ඝෑ","ඝ්i":"ඝි","ඝිi":"ඝී","ඝ්u":"ඝු","ඝුu":"ඝූ","ඝ්e":"ඝෙ","ඝෙa":"ඝේ","ඝ්o":"ඝො","ඝොe":"ඝෝ","ඝu":"ඝෞ","ඝ්R":"ඝෘ","ඝෘu":"ඝෲ","ඝ්I":"ඝෛ",';

amhaHash+='"c":"ච්","ච්a":"ච","චa":"චා","ච්A":"චැ","චැa":"චෑ","ච්i":"චි","චිi":"චී","ච්u":"චු","චුu":"චූ","ච්e":"චෙ","චෙa":"චේ","ච්o":"චො","චොe":"චෝ","චu":"චෞ","ච්R":"චෘ","චෘu":"චෲ","ච්I":"චෛ",'; amhaHash+='"ච්h":"ඡ්","ඡ්a":"ඡ","ඡa":"ඡා","ඡ්A":"ඡැ","ඡැa":"ඡෑ","ඡ්i":"ඡි","ඡිi":"ඡී","ඡ්u":"ඡු","ඡුu":"ඡූ","ඡ්e":"ඡෙ","ඡෙa":"ඡේ","ඡ්o":"ඡො","ඡොe":"ඡෝ","ඡu":"ඡෞ","ඡ්R":"ඡෘ","ඡෘu":"ඡෲ","ඡ්I":"ඡෛ",'; amhaHash+='"j":"ජ්","ජ්a":"ජ","ජa":"ජා","ජ්A":"ජැ","ජැa":"ජෑ","ජ්i":"ජි","ජිi":"ජී","ජ්u":"ජු","ජුu":"ජූ","ජ්e":"ජෙ","ජෙa":"ජේ","ජ්o":"ජො","ජොe":"ජෝ","ජu":"ජෞ","ජ්R":"ජෘ","ජෘu":"ජෲ","ජ්I":"ජෛ",'; amhaHash+='"ජ්h":"ඣ්","ඣ්a":"ඣ","ඣa":"ඣා","ඣ්A":"ඣැ","ඣැa":"ඣෑ","ඣ්i":"ඣි","ඣිi":"ඣී","ඣ්u":"ඣු","ඣුu":"ඣූ","ඣ්e":"ඣෙ","ඣෙa":"ඣේ","ඣ්o":"ඣො","ඣොe":"ඣෝ","ඣu":"ඣෞ","ඣ්R":"ඣෘ","ඣෘu":"ඣෲ","ඣ්I":"ඣෛ",'; amhaHash+='"ඛ්N":"ඤ්","ඤ්a":"ඤ","ඤa":"ඤා","ඤ්A":"ඤැ","ඤැa":"ඤෑ","ඤ්i":"ඤි","ඤිi":"ඤී","ඤ්u":"ඤු","ඤුu":"ඤූ","ඤ්e":"ඤෙ","ඤෙa":"ඤේ","ඤ්o":"ඤො","ඤොe":"ඤෝ","ඤu":"ඤෞ","ඤ්R":"ඤෘ","ඤෘu":"ඤෲ","ඤ්I":"ඤෛ",';

amhaHash+='"T":"ට්","ට්a":"ට","ටa":"ටා","ට්A":"ටැ","ටැa":"ටෑ","ට්i":"ටි","ටිi":"ටී","ට්u":"ටු","ටුu":"ටූ","ට්e":"ටෙ","ටෙa":"ටේ","ට්o":"ටො","ටොe":"ටෝ","ටu":"ටෞ","ට්R":"ටෘ","ටෘu":"ටෲ","ට්I":"ටෛ",'; amhaHash+='"ට්h":"ඨ්","ඨ්a":"ඨ","ඨa":"ඨා","ඨ්A":"ඨැ","ඨැa":"ඨෑ","ඨ්i":"ඨි","ඨිi":"ඨී","ඨ්u":"ඨු","ඨුu":"ඨූ","ඨ්e":"ඨෙ","ඨෙa":"ඨේ","ඨ්o":"ඨො","ඨොe":"ඨෝ","ඨu":"ඨෞ","ඨ්R":"ඨෘ","ඨෘu":"ඨෲ","ඨ්I":"ඨෛ",'; amhaHash+='"D":"ඩ්","ඩ්a":"ඩ","ඩa":"ඩා","ඩ්A":"ඩැ","ඩැa":"ඩෑ","ඩ්i":"ඩි","ඩිi":"ඩී","ඩ්u":"ඩු","ඩුu":"ඩූ","ඩ්e":"ඩෙ","ඩෙa":"ඩේ","ඩ්o":"ඩො","ඩොe":"ඩෝ","ඩu":"ඩෞ","ඩ්R":"ඩෘ","ඩෘu":"ඩෲ","ඩ්I":"ඩෛ",'; amhaHash+='"ඩ්h":"ඪ්","ඪ්a":"ඪ","ඪa":"ඪා","ඪ්A":"ඪැ","ඪැa":"ඪෑ","ඪ්i":"ඪි","ඪිi":"ඪී","ඪ්u":"ඪු","ඪුu":"ඪූ","ඪ්e":"ඪෙ","ඪෙa":"ඪේ","ඪ්o":"ඪො","ඪොe":"ඪෝ","ඪu":"ඪෞ","ඪ්R":"ඪෘ","ඪෘu":"ඪෲ","ඪ්I":"ඪෛ",'; amhaHash+='"N":"ණ්","ණ්a":"ණ","ණa":"ණා","ණ්A":"ණැ","ණැa":"ණෑ","ණ්i":"ණි","ණිi":"ණී","ණ්u":"ණු","ණුu":"ණූ","ණ්e":"ණෙ","ණෙa":"ණේ","ණ්o":"ණො","ණොe":"ණෝ","ණu":"ණෞ","ණ්R":"ණෘ","ණෘu":"ණෲ","ණ්I":"ණෛ",';

amhaHash+='"t":"ත්","ත්a":"ත","තa":"තා","ත්A":"තැ","තැa":"තෑ","ත්i":"ති","තිi":"තී","ත්u":"තු","තුu":"තූ","ත්e":"තෙ","තෙa":"තේ","ත්o":"තො","තොe":"තෝ","තu":"තෞ","ත්R":"තෘ","තෘu":"තෲ","ත්I":"තෛ",'; amhaHash+='"ත්r":"ත්‍ර","ත්‍රa":"ත්‍රා","ත්‍රA":"ත්‍රැ","ත්‍රැa":"ත්‍රෑ","ත්‍රi":"ත්‍රි","ත්‍රිi":"ත්‍රී","ත්‍රu":"තෘ","තෘu":"තෲ","ත්‍රe":"ත්‍රෙ","ත්‍රෙa":"ත්‍රේ","ත්‍රo":"ත්‍රො","ත්‍රොe":"ත්‍රෝ",'; amhaHash+='"ත්h":"ථ්","ථ්a":"ථ","ථa":"ථා","ථ්A":"ථැ","ථැa":"ථෑ","ථ්i":"ථි","ථිi":"ථී","ථ්u":"ථු","ථුu":"ථූ","ථ්e":"ථෙ","ථෙa":"ථේ","ථ්o":"ථො","ථොe":"ථෝ","ථu":"ථෞ","ථ්R":"ථෘ","ථෘu":"ථෲ","ථ්I":"ථෛ",'; amhaHash+='"d":"ද්","ද්a":"ද","දa":"දා","ද්A":"දැ","දැa":"දෑ","ද්i":"දි","දිi":"දී","ද්u":"දු","දුu":"දූ","ද්e":"දෙ","දෙa":"දේ","ද්o":"දො","දොe":"දෝ","දu":"දෞ","ද්R":"දෘ","දෘu":"දෲ","ද්I":"දෛ",'; amhaHash+='"ද්r":"ද්‍ර","ද්‍රa":"ද්‍රා","ද්‍රA":"ද්‍රැ","ද්‍රැa":"ද්‍රෑ","ද්‍රi":"ද්‍රි","ද්‍රිi":"ද්‍රී","ද්‍රu":"දෘ","දෘu":"දෲ","ද්‍රe":"ද්‍රෙ","ද්‍රෙa":"ද්‍රේ","ද්‍රo":"ද්‍රො","ද්‍රොe":"ද්‍රෝ",'; amhaHash+='"ද්h":"ධ්","ධ්a":"ධ","ධa":"ධා","ධ්A":"ධැ","ධැa":"ධෑ","ධ්i":"ධි","ධිi":"ධී","ධ්u":"ධු","ධුu":"ධූ","ධ්e":"ධෙ","ධෙa":"ධේ","ධ්o":"ධො","ධොe":"ධෝ","ධu":"ධෞ","ධ්R":"ධෘ","ධෘu":"ධෲ","ධ්I":"ධෛ",'; amhaHash+='"n":"න්","න්a":"න","නa":"නා","න්A":"නැ","නැa":"නෑ","න්i":"නි","නිi":"නී","න්u":"නු","නුu":"නූ","න්e":"නෙ","නෙa":"නේ","න්o":"නො","නොe":"නෝ","නu":"නෞ","න්R":"නෘ","නෘu":"නෲ","න්I":"නෛ",';

amhaHash+='"න්Y":"න්‍ය්","න්‍ය්a":"න්‍ය","න්‍යa":"න්‍යා","න්‍ය්A":"න්‍යැ","න්‍යැa":"න්‍යෑ","න්‍ය්i":"න්‍යි",';

amhaHash+='"p":"ප්","ප්a":"ප","පa":"පා","ප්A":"පැ","පැa":"පෑ","ප්i":"පි","පිi":"පී","ප්u":"පු","පුu":"පූ","ප්e":"පෙ","පෙa":"පේ","ප්o":"පො","පොe":"පෝ","පu":"පෞ","ප්R":"පෘ","පෘu":"පෲ","ප්I":"පෛ",'; amhaHash+='"ප්r":"ප්‍ර","ප්‍රa":"ප්‍රා","ප්‍රA":"ප්‍රැ","ප්‍රැa":"ප්‍රෑ","ප්‍රi":"ප්‍රි","ප්‍රිi":"ප්‍රී","ප්‍රu":"පෘ","පෘu":"පෲ","ප්‍රe":"ප්‍රෙ","ප්‍රෙa":"ප්‍රේ","ප්‍රo":"ප්‍රො","ප්‍රොe":"ප්‍රෝ",'; amhaHash+='"P":"ඵ්","ඵ්a":"ඵ","ඵa":"ඵා","ඵ්A":"ඵැ","ඵැa":"ඵෑ","ඵ්i":"ඵි","ඵිi":"ඵී","ඵ්u":"ඵු","ඵුu":"ඵූ","ඵ්e":"ඵෙ","ඵෙa":"ඵේ","ඵ්o":"ඵො","ඵොe":"ඵෝ","ඵu":"ඵෞ","ඵ්R":"ඵෘ","ඵෘu":"ඵෲ","ඵ්I":"ඵෛ",'; amhaHash+='"b":"බ්","බ්a":"බ","බa":"බා","බ්A":"බැ","බැa":"බෑ","බ්i":"බි","බිi":"බී","බ්u":"බු","බුu":"බූ","බ්e":"බෙ","බෙa":"බේ","බ්o":"බො","බොe":"බෝ","බu":"බෞ","බ්R":"බෘ","බෘu":"බෲ","බ්I":"බෛ",'; amhaHash+='"බ්h":"භ්","භ්a":"භ","භa":"භා","භ්A":"භැ","භැa":"භෑ","භ්i":"භි","භිi":"භී","භ්u":"භු","භුu":"භූ","භ්e":"භෙ","භෙa":"භේ","භ්o":"භො","භොe":"භෝ","භu":"භෞ","භ්R":"භෘ","භෘu":"භෲ","භ්I":"භෛ",'; amhaHash+='"m":"ම්","ම්a":"ම","මa":"මා","ම්A":"මැ","මැa":"මෑ","ම්i":"මි","මිi":"මී","ම්u":"මු","මුu":"මූ","ම්e":"මෙ","මෙa":"මේ","ම්o":"මො","මොe":"මෝ","මu":"මෞ","ම්R":"මෘ","මෘu":"මෲ","ම්I":"මෛ",';

amhaHash+='"y":"ය්","ය්a":"ය","යa":"යා","ය්A":"යැ","යැa":"යෑ","ය්i":"යි","යිi":"යී","ය්u":"යු","යුu":"යූ","ය්e":"යෙ","යෙa":"යේ","ය්o":"යො","යොe":"යෝ","යu":"යෞ","ය්R":"යෘ","යෘu":"යෲ","ය්I":"යෛ",'; amhaHash+='"r":"ර්","ර්a":"ර","රa":"රා","ර්A":"රැ","රැa":"රෑ","ර්i":"රි","රිi":"රී","ර්u":"රු","රුu":"රූ","ර්e":"රෙ","රෙa":"රේ","ර්o":"රො","රොe":"රෝ","රu":"රෞ","ර්R":"රෘ","රෘu":"රෲ","ර්I":"රෛ",'; amhaHash+='"l":"ල්","ල්a":"ල","ලa":"ලා","ල්A":"ලැ","ලැa":"ලෑ","ල්i":"ලි","ලිi":"ලී","ල්u":"ලු","ලුu":"ලූ","ල්e":"ලෙ","ලෙa":"ලේ","ල්o":"ලො","ලොe":"ලෝ","ලu":"ලෞ","ල්R":"ලෘ","ලෘu":"ලෲ","ල්I":"ලෛ",'; amhaHash+='"w":"ව්","v":"ව්","ව්a":"ව","වa":"වා","ව්A":"වැ","වැa":"වෑ","ව්i":"වි","විi":"වී","ව්u":"වු","වුu":"වූ","ව්e":"වෙ","වෙa":"වේ","ව්o":"වො","වොe":"වෝ","වu":"වෞ","ව්R":"වෘ","වෘu":"වෲ","ව්I":"වෛ",';

amhaHash+='"S":"ශ්","ශ්a":"ශ","ශa":"ශා","ශ්A":"ශැ","ශැa":"ශෑ","ශ්i":"ශි","ශිi":"ශී","ශ්u":"ශු","ශුu":"ශූ","ශ්e":"ශෙ","ශෙa":"ශේ","ශ්o":"ශො","ශොe":"ශෝ","ශu":"ශෞ","ශ්R":"ශෘ","ශෘu":"ශෲ","ශ්I":"ශෛ",'; amhaHash+='"ශ්r":"ශ්‍ර","ශ්‍රa":"ශ්‍රා","ශ්‍රA":"ශ්‍රැ","ශ්‍රැa":"ශ්‍රෑ","ශ්‍රi":"ශ්‍රි","ශ්‍රිi":"ශ්‍රී","ශ්‍රu":"ශෘ","ශෘu":"ශෲ","ශ්‍රe":"ශ්‍රෙ","ශ්‍රෙa":"ශ්‍රේ","ශ්‍රo":"ශ්‍රො","ශ්‍රොe":"ශ්‍රෝ",'; amhaHash+='"ශ්Y":"ශ්‍ය්","ශ්‍ය්a":"ශ්‍ය","ශ්‍යa":"ශ්‍යා","ශ්‍ය්A":"ශ්‍යැ","ශ්‍යැa":"ශ්‍යෑ","ශ්‍ය්i":"ශ්‍යි","ශ්‍යිi":"ශ්‍යී","ශ්‍ය්u":"යු","ශ්‍ය්e":"ශ්‍යෙ","ශ්‍යෙa":"ශ්‍යේ","ශ්‍ය්o":"ශ්‍යො","ශ්‍යොe":"ශ්‍යෝ",';


amhaHash+='"ස්h":"ෂ්","ෂ්a":"ෂ","ෂa":"ෂා","ෂ්A":"ෂැ","ෂැa":"ෂෑ","ෂ්i":"ෂි","ෂිi":"ෂී","ෂ්u":"ෂු","ෂුu":"ෂූ","ෂ්e":"ෂෙ","ෂෙa":"ෂේ","ෂ්o":"ෂො","ෂොe":"ෂෝ","ෂu":"ෂෞ","ෂ්R":"ෂෘ","ෂෘu":"ෂෲ","ෂ්I":"ෂෛ",'; amhaHash+='"s":"ස්","ස්a":"ස","සa":"සා","ස්A":"සැ","සැa":"සෑ","ස්i":"සි","සිi":"සී","ස්u":"සු","සුu":"සූ","ස්e":"සෙ","සෙa":"සේ","ස්o":"සො","සොe":"සෝ","සu":"සෞ","ස්R":"සෘ","සෘu":"සෲ","ස්I":"සෛ",'; amhaHash+='"h":"හ්","හ්a":"හ","හa":"හා","හ්A":"හැ","හැa":"හෑ","හ්i":"හි","හිi":"හී","හ්u":"හු","හුu":"හූ","හ්e":"හෙ","හෙa":"හේ","හ්o":"හො","හොe":"හෝ","හu":"හෞ","හ්R":"හෘ","හෘu":"හෲ","හ්I":"හෛ",'; amhaHash+='"L":"ළ්","ළ්a":"ළ","ළa":"ළා","ළ්A":"ළැ","ළැa":"ළෑ","ළ්i":"ළි","ළිi":"ළී","ළ්u":"ළු","ළුu":"ළුු","ළ්e":"ළෙ","ළෙa":"ළේ","ළ්o":"ළො","ළොe":"ළෝ","ළu":"ළෞ","ළ්R":"ළෘ","ළෘu":"ළෲ","ළ්I":"ළෛ",'; amhaHash+='"f":"ෆ්","ෆ්a":"ෆ","ෆa":"ෆා","ෆ්A":"ෆැ","ෆැa":"ෆෑ","ෆ්i":"ෆි","ෆිi":"ෆී","ෆ්u":"ෆු","ෆුu":"ෆූ","ෆ්e":"ෆෙ","ෆෙa":"ෆේ","ෆ්o":"ෆො","ෆොe":"ෆෝ","ෆu":"ෆෞ","ෆ්R":"ෆෘ","ෆෘu":"ෆෲ","ෆ්I":"ෆෛ",';

amhaHash+='"G":"ඟ්","ඟ්a":"ඟ","ඟa":"ඟා","ඟ්A":"ඟැ","ඟැa":"ඟෑ","ඟ්i":"ඟි","ඟිi":"ඟී","ඟ්u":"ඟු","ඟුu":"ඟූ","ඟ්e":"ඟෙ","ඟෙa":"ඟේ","ඟ්o":"ඟො","ඟොe":"ඟෝ","ඟu":"ඟෞ","ඟ්R":"ඟෘ","ඟෘu":"ඟෲ","ඟ්I":"ඟෛ",'; amhaHash+='"ඩ්n":"ඬ්","ඬ්a":"ඬ","ඬa":"ඬා","ඬ්A":"ඬැ","ඬැa":"ඬෑ","ඬ්i":"ඬි","ඬිi":"ඬී","ඬ්u":"ඬු","ඬුu":"ඬූ","ඬ්e":"ඬෙ","ඬෙa":"ඬේ","ඬ්o":"ඬො","ඬොe":"ඬෝ","ඬu":"ඬෞ","ඬ්R":"ඬෘ","ඬෘu":"ඬෲ","ඬ්I":"ඬෛ",'; amhaHash+='"ඩ්N":"ඬ්හ්","ඬ්හ්a":"ඳ","ඳa":"ඳා","ඬ්හ්A":"ඳැ","ඳැa":"ඳෑ","ඬ්හ්i":"ඳි","ඳිi":"ඳී","ඬ්හ්u":"ඳු","ඳුu":"ඬූ","ඬ්හ්e":"ඳෙ","ඳෙa":"ඳේ","ඬ්හ්o":"ඳො","ඳොe":"ඳෝ","ඳu":"ඳෞ","ඬ්හ්R":"ඳෘ","ඳෘu":"ඳෲ","ඬ්හ්I":"ඳෛ",';



amhaHash+='"B":"ඹ්","ඹ්a":"ඹ","ඹa":"ඹා","ඹ්A":"ඹැ","ඹැa":"ඹෑ","ඹ්i":"ඹි","ඹිi":"ඹී","ඹ්u":"ඹු","ඹුu":"ඹූ","ඹ්e":"ඹෙ","ඹෙa":"ඹේ","ඹ්o":"ඹො","ඹොe":"ඹෝ","ඹu":"ඹෞ","ඹ්R":"ඹෘ","ඹෘu":"ඹෲ","ඹ්I":"ඹෛ",';

amhaHash+='"x":"ං","X":"ඃ",';

amhaHash+='"a":"අ","අa":"ආ","A":"ඇ","ඇa":"ඈ","i":"ඉ","ඉi":"ඊ","u":"උ","උu":"ඌ","e":"එ","එe":"ඒ","I":"ඓ","o":"ඔ","ඔo":"ඕ","ඔu":"ඖ","R":"ඍ","0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"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 ""; }