wop commited on
Commit
ada691f
·
verified ·
1 Parent(s): 23d8ce9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -0
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
  )