From 925ba08ecb3ff12496d343a1a0a99daf9a32ad3d Mon Sep 17 00:00:00 2001 From: Santhosh Thottingal Date: Tue, 24 Mar 2009 21:53:02 +0530 Subject: Adding Silpa framework --- silpa/utils/langdetect.py | 73 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 silpa/utils/langdetect.py (limited to 'silpa/utils/langdetect.py') diff --git a/silpa/utils/langdetect.py b/silpa/utils/langdetect.py new file mode 100644 index 0000000..c20ac3a --- /dev/null +++ b/silpa/utils/langdetect.py @@ -0,0 +1,73 @@ +# Spellchecker with language detection +# coding: utf-8 +# +# Copyright © 2008 Santhosh Thottingal +# Released under the GPLV3+ license + + +class LangDetect: + + def detect_lang(self, text): + words=text.split(" ") + word_count=len(words) + word_iter=0 + word="" + result_dict=dict() + while word_iter < word_count: + word=words[word_iter] + if(word): + length = len(word) + index = 0 + while index < length: + letter=word[index] + if ((letter >= u'ം') & (letter <=u'൯')): + result_dict[word]= "ml_IN" + if ((letter >= u'ঁ') & (letter <= u'৺')): + result_dict[word]= "bn_IN" + if ((letter >= u'ँ') & (letter <= u'ॿ')): + result_dict[word]= "hi_IN" + if ((letter >=u'ઁ') & (letter <= u'૱')): + result_dict[word]= "gu_IN" + if ((letter >= u'ਁ') & (letter <=u'ੴ')): + result_dict[word]= "pa_IN" + if ((letter >= u'ಂ') & (letter <=u'ೲ')): + result_dict[word]= "ka_IN" + if ((letter >= u'ଁ') & (letter <= u'ୱ')): + result_dict[word]= "or_IN" + if ((letter >=u'ஂ') & (letter <= u'௺')): + result_dict[word]= "ta_IN" + if ((letter >=u'ఁ') & (letter <= u'౯')): + result_dict[word]= "te_IN" + if ((letter <= u'z')): + result_dict[word]= "en_US" + + index=index+1 + word_iter=word_iter+1 + return result_dict + def process(self,form): + response = """ +

Language Detection

+

Enter the text for detecting the language in the below text area. + Language of each word will be detected. + You can give the text in any language and even with mixed language +

+
+ + + +
+
+ """ + if(form.has_key('input_text')): + text = action=form['input_text'].value .decode('utf-8') + response=response % text + detected_lang_dict = self.detect_lang(text) + response = response+"

Language Detection Results

" + response = response+"" + for key in detected_lang_dict: + response = response+"" + response = response+"
WordLanguage
"+key+""+detected_lang_dict[key]+"
" + else: + response=response % "" + return response + -- cgit