def from_itrans(text,lang_code):
        if langinfo.SCRIPT_RANGES.has_key(lang_code): 
            devnag_text=itrans_transliterator.transliterate(text.encode('utf-8'), 'itrans', 'devanagari',
                                 {'outputASCIIEncoded' : False, 'handleUnrecognised': itrans_transliterator.UNRECOGNISED_ECHO})

            lang_text=UnicodeIndicTransliterator.transliterate(devnag_text.decode('utf-8'),'hi',lang_code)
            
            return lang_text
        else:
            return text
    def from_itrans(text,lang_code):
        if langinfo.SCRIPT_RANGES.has_key(lang_code): 
            devnag_text=itrans_transliterator.transliterate(text.encode('utf-8'), 'itrans', 'devanagari',
                                 {'outputASCIIEncoded' : False, 'handleUnrecognised': itrans_transliterator.UNRECOGNISED_ECHO})

            lang_text=UnicodeIndicTransliterator.transliterate(devnag_text.decode('utf-8'),'hi',lang_code)
            
            return lang_text
        else:
            return text
    def to_itrans(text,lang_code):
        if langinfo.SCRIPT_RANGES.has_key(lang_code):
            if lang_code=='ml': 
                # Change from chillus characters to corresponding consonant+halant
                text=text.replace(u'\u0d7a',u'\u0d23\u0d4d')
                text=text.replace(u'\u0d7b',u'\u0d28\u0d4d')
                text=text.replace(u'\u0d7c',u'\u0d30\u0d4d')
                text=text.replace(u'\u0d7d',u'\u0d32\u0d4d')
                text=text.replace(u'\u0d7e',u'\u0d33\u0d4d')
                text=text.replace(u'\u0d7f',u'\u0d15\u0d4d')

            devnag=UnicodeIndicTransliterator.transliterate(text,lang_code,'hi')
            
            itrans=itrans_transliterator.transliterate(devnag.encode('utf-8'), 'devanagari','itrans',
                                 {'outputASCIIEncoded' : False, 'handleUnrecognised': itrans_transliterator.UNRECOGNISED_ECHO})
            return itrans.decode('utf-8') 
        else:
            return text
    def to_itrans(text,lang_code):
        if langinfo.SCRIPT_RANGES.has_key(lang_code):
            if lang_code=='ml': 
                # Change from chillus characters to corresponding consonant+halant
                text=text.replace(u'\u0d7a',u'\u0d23\u0d4d')
                text=text.replace(u'\u0d7b',u'\u0d28\u0d4d')
                text=text.replace(u'\u0d7c',u'\u0d30\u0d4d')
                text=text.replace(u'\u0d7d',u'\u0d32\u0d4d')
                text=text.replace(u'\u0d7e',u'\u0d33\u0d4d')
                text=text.replace(u'\u0d7f',u'\u0d15\u0d4d')

            devnag=UnicodeIndicTransliterator.transliterate(text,lang_code,'hi')
            
            itrans=itrans_transliterator.transliterate(devnag.encode('utf-8'), 'devanagari','itrans',
                                 {'outputASCIIEncoded' : False, 'handleUnrecognised': itrans_transliterator.UNRECOGNISED_ECHO})
            return itrans.decode('utf-8') 
        else:
            return text