Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -5,10 +5,20 @@ from typing import Generator
|
|
5 |
from groq import Groq
|
6 |
import datetime
|
7 |
import json
|
|
|
8 |
|
9 |
_ = load_dotenv(find_dotenv())
|
10 |
st.set_page_config(page_icon="💬", layout="wide", page_title="...")
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
def icon(emoji: str):
|
14 |
"""Shows an emoji as a Notion-style page icon."""
|
@@ -22,6 +32,39 @@ icon("⚡")
|
|
22 |
|
23 |
st.subheader("Chatbot", divider="rainbow", anchor=False)
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
client = Groq(
|
26 |
api_key=os.environ['GROQ_API_KEY'],
|
27 |
)
|
|
|
5 |
from groq import Groq
|
6 |
import datetime
|
7 |
import json
|
8 |
+
from googletrans import Translator
|
9 |
|
10 |
_ = load_dotenv(find_dotenv())
|
11 |
st.set_page_config(page_icon="💬", layout="wide", page_title="...")
|
12 |
|
13 |
+
# Language options
|
14 |
+
languages = {
|
15 |
+
"English": "en",
|
16 |
+
"Spanish": "es",
|
17 |
+
# Add more languages as needed
|
18 |
+
}
|
19 |
+
|
20 |
+
# Default language
|
21 |
+
default_language = "English"
|
22 |
|
23 |
def icon(emoji: str):
|
24 |
"""Shows an emoji as a Notion-style page icon."""
|
|
|
32 |
|
33 |
st.subheader("Chatbot", divider="rainbow", anchor=False)
|
34 |
|
35 |
+
# Language selection dropdown
|
36 |
+
language_option = st.selectbox(
|
37 |
+
"Select Language:",
|
38 |
+
options=list(languages.keys()),
|
39 |
+
index=list(languages.keys()).index(default_language),
|
40 |
+
)
|
41 |
+
|
42 |
+
# Function to get language code
|
43 |
+
def get_language_code(language):
|
44 |
+
return languages.get(language, "en")
|
45 |
+
|
46 |
+
translator = Translator()
|
47 |
+
|
48 |
+
# Translate function
|
49 |
+
def translate_text(text, target_lang):
|
50 |
+
translation = translator.translate(text, dest=target_lang)
|
51 |
+
return translation.text
|
52 |
+
|
53 |
+
# Translate all text on the page
|
54 |
+
def translate_page_content(language):
|
55 |
+
elements = st.container._roots
|
56 |
+
for element in elements:
|
57 |
+
if hasattr(element, "body"):
|
58 |
+
element.body = translate_text(element.body, get_language_code(language))
|
59 |
+
st.experimental_rerun()
|
60 |
+
|
61 |
+
# Translate the page content initially
|
62 |
+
translate_page_content(default_language)
|
63 |
+
|
64 |
+
# Listen for language changes and re-translate the page content
|
65 |
+
if language_option != default_language:
|
66 |
+
translate_page_content(language_option)
|
67 |
+
|
68 |
client = Groq(
|
69 |
api_key=os.environ['GROQ_API_KEY'],
|
70 |
)
|