मिडियाविकि:Translitta.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/*
This script is a modified version of Alex benenson's cyrillic translitarator and this version was created by user Tatari as a part of South Asian Script Enhancement project for Devnagari and modified by Eukesh for Tamil
*/
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":"தம்","த்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":"பீ","ப்ee":"பீ","ப்u":"பு","ப்U":"பூ","போo":"பூ","ப்uu":"பூ","ப்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":"பம்","ப்ரு":"ப்ரு","ப்ரு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":"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 "";
}