|
import streamlit as st |
|
from deep_translator import GoogleTranslator |
|
import datetime |
|
|
|
def translate_word(word): |
|
|
|
now_utc = datetime.datetime.utcnow() |
|
now_ist = now_utc + datetime.timedelta(hours=5, minutes=30) |
|
|
|
|
|
if word[0].lower() in 'aeiou': |
|
if now_ist.hour == 21 and now_ist.minute < 60: |
|
|
|
return "Error: Words starting with vowels cannot be translated between 9 PM and 10 PM IST" |
|
|
|
|
|
|
|
try: |
|
translation = GoogleTranslator(source='en', target='hi').translate(word) |
|
return translation |
|
except Exception as e: |
|
return f"Error: {str(e)}" |
|
|
|
|
|
st.title('English to Hindi Translator') |
|
|
|
word = st.text_input('Enter a word:') |
|
|
|
if st.button('Translate'): |
|
translation = translate_word(word) |
|
st.write(f"Translation: {translation}") |
|
|
|
|
|
train_data = [ |
|
{"english": "hello", "hindi": "नमस्ते"}, |
|
{"english": "world", "hindi": "दुनिया"}, |
|
{"english": "apple", "hindi": "सेब"}, |
|
{"english": "book", "hindi": "किताब"}, |
|
{"english": "computer", "hindi": "कंप्यूटर"} |
|
] |
|
|
|
def translate_and_evaluate(train_data): |
|
correct = 0 |
|
total = len(train_data) |
|
|
|
for item in train_data: |
|
translated_word = translate_word(item["english"]) |
|
if translated_word == item["hindi"]: |
|
correct += 1 |
|
|
|
accuracy = (correct / total) * 100 |
|
return accuracy |
|
|
|
|
|
accuracy = translate_and_evaluate(train_data) |
|
print(f"Accuracy: {accuracy:.2f}%") |
|
|
|
|