|
|
|
|
|
|
|
|
|
from deep_translator import GoogleTranslator |
|
import pytesseract |
|
|
|
available_languages = GoogleTranslator().get_supported_languages(as_dict=True) |
|
formatted_languages = {key.title(): value for key, value in available_languages.items()} |
|
formatted_codes = {value: key.title() for key, value in available_languages.items()} |
|
|
|
pytesseract_language_dict = {'English': 'eng', 'French': 'fra', 'Odia': 'ori', 'Hindi': 'hin', |
|
'Bengali': 'ben', 'Telugu': 'tel', 'Hindi': 'hin', 'Malayalam': 'mal', |
|
'Kannada': 'kan', 'Tamil': 'tam', 'Marathi': 'mar', 'Gujarati': 'guj', |
|
'Punjabi': 'pan', 'Sinhalese': 'sin', |
|
'Arabic': 'ara', 'German': 'deu', 'Spanish': 'spa', 'Italian': 'ita', |
|
'Russian': 'rus', 'Japanese': 'jpn', 'Korean': 'kor', 'Hebrew': 'heb', |
|
'Persian': 'fas', 'Chinese Simplified': 'chi_sim', 'Chinese Traditional': 'chi_tra', |
|
} |
|
|
|
def src_image_to_eng_translator(input_image, image_lang = 'eng', target_lang = 'English'): |
|
image_text = pytesseract.image_to_string(input_image, lang = pytesseract_language_dict.get(image_lang, 'eng')) |
|
|
|
target_lang_code = formatted_languages.get(target_lang, 'en') |
|
translated = GoogleTranslator(source='auto', target=target_lang_code).translate(image_text) |
|
return image_text, translated |