Alpha108 commited on
Commit
704cbe4
·
verified ·
1 Parent(s): ec91604

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -7
app.py CHANGED
@@ -21,6 +21,20 @@ from utils.lang_utils import detect_language, translate_text
21
  # Import LangChain components
22
  from langchain_groq import ChatGroq
23
  from langchain_community.embeddings import HuggingFaceEmbeddings
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
 
26
  class GEOSEOApp:
@@ -153,15 +167,21 @@ class GEOSEOApp:
153
 
154
  if uploaded_file:
155
  with st.spinner("Processing PDF..."):
156
- # Save uploaded file temporarily
157
- temp_path = self.save_uploaded_file(uploaded_file)
158
- documents = self.pdf_parser.parse(temp_path)
159
- os.unlink(temp_path) # Clean up
 
 
 
 
160
 
161
- elif pasted_text.strip():
162
  with st.spinner("Processing text..."):
163
- documents = self.text_parser.parse(pasted_text)
164
-
 
 
165
  else:
166
  st.warning("Please upload a PDF or paste some text.")
167
  return
 
21
  # Import LangChain components
22
  from langchain_groq import ChatGroq
23
  from langchain_community.embeddings import HuggingFaceEmbeddings
24
+ from langdetect import detect
25
+ from deep_translator import GoogleTranslator
26
+ def detect_and_translate_to_english(text: str) -> str:
27
+ try:
28
+ lang = detect(text)
29
+ if lang != "en":
30
+ st.warning(f"Detected Language: {lang}. Translating to English...")
31
+ translated_text = GoogleTranslator(source='auto', target='en').translate(text)
32
+ return translated_text
33
+ else:
34
+ return text
35
+ except Exception as e:
36
+ st.error(f"Translation failed: {e}")
37
+ return text
38
 
39
 
40
  class GEOSEOApp:
 
167
 
168
  if uploaded_file:
169
  with st.spinner("Processing PDF..."):
170
+ temp_path = self.save_uploaded_file(uploaded_file)
171
+ documents = self.pdf_parser.parse(temp_path)
172
+ os.unlink(temp_path)
173
+
174
+ # 🧠 Translate each document if needed
175
+ for doc in documents:
176
+ doc.page_content = detect_and_translate_to_english(doc.page_content)
177
+
178
 
179
+ elif pasted_text.strip():
180
  with st.spinner("Processing text..."):
181
+ translated_text = detect_and_translate_to_english(pasted_text)
182
+ documents = self.text_parser.parse(translated_text)
183
+
184
+
185
  else:
186
  st.warning("Please upload a PDF or paste some text.")
187
  return