shital2024 commited on
Commit
e8cac4e
·
verified ·
1 Parent(s): 364061c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +286 -286
app.py CHANGED
@@ -1,286 +1,286 @@
1
- import streamlit as st
2
- import requests
3
- import os
4
- import google.generativeai as genai
5
- import tensorflow as tf
6
- import numpy as np
7
- from tensorflow.keras.layers import TextVectorization
8
-
9
- # --- Config ---
10
- vocab_size = 10000
11
- sequence_length = 150
12
-
13
- # Load API keys
14
- HF_API_TOKEN = os.getenv("HF_API_TOKEN")
15
- GEMINI_API_KEY = os.getenv("GOOGLE_API_KEY")
16
-
17
- # Hugging Face setup
18
- MODEL_ID = "Salesforce/codet5p-770m"
19
- API_URL = f"https://api-inference.huggingface.co/models/{MODEL_ID}"
20
- HEADERS = {"Authorization": f"Bearer {HF_API_TOKEN}"}
21
-
22
- genai.configure(api_key="AIzaSyBkc8CSEhyYwZAuUiJfzF1Xtns-RYmBOpg")
23
-
24
- # --- Load Local Model & Vectorizers ---
25
- model = tf.keras.models.load_model("java_to_python_seq2seq_model.h5")
26
-
27
- java_vectorizer = TextVectorization(max_tokens=vocab_size, output_sequence_length=sequence_length)
28
- python_vectorizer = TextVectorization(max_tokens=vocab_size, output_sequence_length=sequence_length)
29
-
30
- # Dummy adaptation to initialize
31
- java_vectorizer.adapt(tf.data.Dataset.from_tensor_slices(["public class Main { public static void main(String[] args) {} }"]))
32
- python_vectorizer.adapt(tf.data.Dataset.from_tensor_slices(["def main():\n pass"]))
33
-
34
- python_vocab = python_vectorizer.get_vocabulary()
35
- index_to_word = dict(enumerate(python_vocab))
36
-
37
- # --- Translator Functions ---
38
-
39
- def fallback_translate_with_gemini(code_snippet, source_lang, target_lang):
40
- prompt = f"""You are a code translation expert. Convert the following {source_lang} code to {target_lang}:
41
-
42
- {code_snippet}
43
-
44
- Ensure the translation is accurate and follows {target_lang} best practices.
45
- Do not give any explanation. Only give the translated code.
46
- """
47
- try:
48
- model = genai.GenerativeModel("gemini-1.5-pro")
49
- response = model.generate_content(prompt)
50
- return response.text.strip() if response else "Translation failed."
51
- except Exception as e:
52
- return f"Gemini API Error: {str(e)}"
53
-
54
- def translate_with_local_model(code_snippet):
55
- try:
56
- java_seq = java_vectorizer(tf.constant([code_snippet]))
57
- python_in = tf.constant([[1] + [0] * (sequence_length - 1)])
58
- translated_tokens = []
59
-
60
- for i in range(sequence_length):
61
- preds = model.predict([java_seq, python_in], verbose=0)
62
- next_token = tf.argmax(preds[0, i]).numpy()
63
- translated_tokens.append(next_token)
64
- if next_token == 0:
65
- break
66
- if i + 1 < sequence_length:
67
- python_in = tf.tensor_scatter_nd_update(
68
- python_in, [[0, i + 1]], [next_token]
69
- )
70
-
71
- tokens = [index_to_word.get(t, "") for t in translated_tokens]
72
- return " ".join(tokens).replace("[UNK]", "").strip()
73
-
74
- except Exception as e:
75
- return f"Local Model Error: {str(e)}"
76
-
77
- def translate_code(code_snippet, source_lang, target_lang):
78
- prompt = f"Translate the following {source_lang} code to {target_lang}:\n\n{code_snippet}\n\nTranslated {target_lang} Code:\n"
79
- response = requests.post(API_URL, headers=HEADERS, json={
80
- "inputs": prompt,
81
- "parameters": {"max_new_tokens": 150, "temperature": 0.2, "top_k": 50}
82
- })
83
-
84
- if response.status_code == 200:
85
- generated_text = response.json()[0]["generated_text"]
86
- translated_code = generated_text.split(f"Translated {target_lang} Code:\n")[-1].strip()
87
- return translated_code
88
- else:
89
- return f"Error: {response.status_code}, {response.text}"
90
-
91
- # --- Streamlit UI ---
92
-
93
- st.title("🔄 Programming Language Translator")
94
- st.write("Translate code between programming languages using 3-tier logic:")
95
-
96
- languages = ["Python", "Java", "C++", "C"]
97
- source_lang = st.selectbox("Select source language", languages)
98
- target_lang = st.selectbox("Select target language", languages)
99
- code_input = st.text_area("Enter your code here:", height=200)
100
-
101
- # State initialization
102
- if "translate_attempts" not in st.session_state:
103
- st.session_state.translate_attempts = 0
104
- st.session_state.translated_code = ""
105
-
106
- if st.button("Translate"):
107
- if code_input.strip():
108
- st.session_state.translate_attempts += 1
109
- attempt = st.session_state.translate_attempts
110
-
111
- with st.spinner(f"Translating..."):
112
- # First click
113
- if attempt == 1:
114
- if source_lang == "Java" and target_lang == "Python":
115
- st.session_state.translated_code = translate_with_local_model(code_input)
116
- else:
117
- st.session_state.translated_code = translate_code(code_input, source_lang, target_lang)
118
- else:
119
- # Second and later attempts -> Gemini
120
- st.session_state.translated_code = fallback_translate_with_gemini(code_input, source_lang, target_lang)
121
-
122
- st.subheader("Translated Code:")
123
- st.code(st.session_state.translated_code, language=target_lang.lower())
124
- else:
125
- st.warning("⚠️ Please enter some code before translating.")
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
- # Best version. It doesn't having trained model only.
134
-
135
- # import streamlit as st
136
- # import requests
137
- # import os # To access environment variables
138
- # import google.generativeai as genai # Import Gemini API
139
-
140
- # # Load API keys from environment variables
141
- # HF_API_TOKEN = os.getenv("HF_API_TOKEN")
142
- # GEMINI_API_KEY = os.getenv("GOOGLE_API_KEY")
143
-
144
- # # Set up Hugging Face API
145
- # MODEL_ID = "Salesforce/codet5p-770m" # CodeT5+ (Recommended)
146
- # API_URL = f"https://api-inference.huggingface.co/models/{MODEL_ID}"
147
- # HEADERS = {"Authorization": f"Bearer {HF_API_TOKEN}"}
148
-
149
- # # Initialize Gemini API
150
- # genai.configure(api_key='AIzaSyBkc8CSEhyYwZAuUiJfzF1Xtns-RYmBOpg')
151
-
152
- # def translate_code(code_snippet, source_lang, target_lang):
153
- # """Translate code using Hugging Face API."""
154
- # prompt = f"Translate the following {source_lang} code to {target_lang}:\n\n{code_snippet}\n\nTranslated {target_lang} Code:\n"
155
-
156
- # response = requests.post(API_URL, headers=HEADERS, json={
157
- # "inputs": prompt,
158
- # "parameters": {
159
- # "max_new_tokens": 150,
160
- # "temperature": 0.2,
161
- # "top_k": 50
162
- # }
163
- # })
164
-
165
- # if response.status_code == 200:
166
- # generated_text = response.json()[0]["generated_text"]
167
- # translated_code = generated_text.split(f"Translated {target_lang} Code:\n")[-1].strip()
168
- # return translated_code
169
- # else:
170
- # return f"Error: {response.status_code}, {response.text}"
171
-
172
- # def fallback_translate_with_gemini(code_snippet, source_lang, target_lang):
173
- # """Fallback function using Gemini API for translation."""
174
- # prompt = f"""You are a code translation expert. Convert the following {source_lang} code to {target_lang}:
175
-
176
- # {code_snippet}
177
-
178
- # Ensure the translation is accurate and follows {target_lang} best practices.
179
- # Do not give any explaination. only give the translated code.
180
- # """
181
- # try:
182
- # model = genai.GenerativeModel("gemini-1.5-pro")
183
- # response = model.generate_content(prompt)
184
- # return response.text.strip() if response else "Translation failed."
185
- # except Exception as e:
186
- # return f"Gemini API Error: {str(e)}"
187
-
188
- # # Streamlit UI
189
- # st.title("🔄 Code Translator with Gemini AI")
190
- # st.write("Translate code between different programming languages using AI.")
191
-
192
- # languages = ["Python", "Java", "C++", "C"]
193
-
194
- # source_lang = st.selectbox("Select source language", languages)
195
- # target_lang = st.selectbox("Select target language", languages)
196
- # code_input = st.text_area("Enter your code here:", height=200)
197
-
198
- # # Initialize session state
199
- # if "translate_attempts" not in st.session_state:
200
- # st.session_state.translate_attempts = 0
201
- # st.session_state.translated_code = ""
202
-
203
- # if st.button("Translate"):
204
- # if code_input.strip():
205
- # st.session_state.translate_attempts += 1
206
- # with st.spinner("Translating..."):
207
- # if st.session_state.translate_attempts == 1:
208
- # # First attempt using the pretrained model
209
- # st.session_state.translated_code = translate_code(code_input, source_lang, target_lang)
210
- # else:
211
- # # Second attempt uses Gemini API
212
- # st.session_state.translated_code = fallback_translate_with_gemini(code_input, source_lang, target_lang)
213
-
214
- # st.subheader("Translated Code:")
215
- # st.code(st.session_state.translated_code, language=target_lang.lower())
216
- # else:
217
- # st.warning("⚠️ Please enter some code before translating.")
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
-
230
- # V1 without LLM
231
-
232
- # import streamlit as st
233
- # import requests
234
- # import os # Import os to access environment variables
235
-
236
- # # Get API token from environment variable
237
- # API_TOKEN = os.getenv("HF_API_TOKEN") # Fetch token securely
238
- # # Change MODEL_ID to a better model
239
- # # MODEL_ID = "Salesforce/codet5p-770m" # CodeT5+ (Recommended)
240
- # MODEL_ID = "bigcode/starcoder2-15b" # StarCoder2
241
- # # MODEL_ID = "meta-llama/CodeLlama-34b-Instruct" # Code Llama
242
-
243
- # # API_URL = f"https://api-inference.huggingface.co/models/{MODEL_ID}"
244
-
245
- # API_URL = f"https://api-inference.huggingface.co/models/{MODEL_ID}"
246
- # HEADERS = {"Authorization": f"Bearer {API_TOKEN}"}
247
-
248
- # def translate_code(code_snippet, source_lang, target_lang):
249
- # """Translate code using Hugging Face API securely."""
250
- # prompt = f"Translate the following {source_lang} code to {target_lang}:\n\n{code_snippet}\n\nTranslated {target_lang} Code:\n"
251
-
252
- # response = requests.post(API_URL, headers=HEADERS, json={
253
- # "inputs": prompt,
254
- # "parameters": {
255
- # "max_new_tokens": 150,
256
- # "temperature": 0.2,
257
- # "top_k": 50,
258
- # "stop": ["\n\n", "#", "//", "'''"]
259
- # }
260
- # })
261
-
262
- # if response.status_code == 200:
263
- # generated_text = response.json()[0]["generated_text"]
264
- # translated_code = generated_text.split(f"Translated {target_lang} Code:\n")[-1].strip()
265
- # return translated_code
266
- # else:
267
- # return f"Error: {response.status_code}, {response.text}"
268
-
269
- # # Streamlit UI
270
- # st.title("🔄 Code Translator using StarCoder")
271
- # st.write("Translate code between different programming languages using AI.")
272
-
273
- # languages = ["Python", "Java", "C++", "C"]
274
-
275
- # source_lang = st.selectbox("Select source language", languages)
276
- # target_lang = st.selectbox("Select target language", languages)
277
- # code_input = st.text_area("Enter your code here:", height=200)
278
-
279
- # if st.button("Translate"):
280
- # if code_input.strip():
281
- # with st.spinner("Translating..."):
282
- # translated_code = translate_code(code_input, source_lang, target_lang)
283
- # st.subheader("Translated Code:")
284
- # st.code(translated_code, language=target_lang.lower())
285
- # else:
286
- # st.warning("⚠️ Please enter some code before translating.")
 
1
+ import streamlit as st
2
+ import requests
3
+ import os
4
+ import google.generativeai as genai
5
+ import tensorflow as tf
6
+ import numpy as np
7
+ from tensorflow.keras.layers import TextVectorization
8
+
9
+ # --- Config ---
10
+ vocab_size = 10000
11
+ sequence_length = 150
12
+
13
+ # Load API keys
14
+ HF_API_TOKEN = os.getenv("HF_API_TOKEN")
15
+ GEMINI_API_KEY = os.getenv("GOOGLE_API_KEY")
16
+
17
+ # Hugging Face setup
18
+ MODEL_ID = "Salesforce/codet5p-770m"
19
+ API_URL = f"https://api-inference.huggingface.co/models/{MODEL_ID}"
20
+ HEADERS = {"Authorization": f"Bearer {HF_API_TOKEN}"}
21
+
22
+ genai.configure(api_key="AIzaSyBlU-T3bx0A_ztKqqDFayOEqdjgQHifsf4")
23
+
24
+ # --- Load Local Model & Vectorizers ---
25
+ model = tf.keras.models.load_model("java_to_python_seq2seq_model.h5")
26
+
27
+ java_vectorizer = TextVectorization(max_tokens=vocab_size, output_sequence_length=sequence_length)
28
+ python_vectorizer = TextVectorization(max_tokens=vocab_size, output_sequence_length=sequence_length)
29
+
30
+ # Dummy adaptation to initialize
31
+ java_vectorizer.adapt(tf.data.Dataset.from_tensor_slices(["public class Main { public static void main(String[] args) {} }"]))
32
+ python_vectorizer.adapt(tf.data.Dataset.from_tensor_slices(["def main():\n pass"]))
33
+
34
+ python_vocab = python_vectorizer.get_vocabulary()
35
+ index_to_word = dict(enumerate(python_vocab))
36
+
37
+ # --- Translator Functions ---
38
+
39
+ def fallback_translate_with_gemini(code_snippet, source_lang, target_lang):
40
+ prompt = f"""You are a code translation expert. Convert the following {source_lang} code to {target_lang}:
41
+
42
+ {code_snippet}
43
+
44
+ Ensure the translation is accurate and follows {target_lang} best practices.
45
+ Do not give any explanation. Only give the translated code.
46
+ """
47
+ try:
48
+ model = genai.GenerativeModel("gemini-1.5-pro")
49
+ response = model.generate_content(prompt)
50
+ return response.text.strip() if response else "Translation failed."
51
+ except Exception as e:
52
+ return f"Gemini API Error: {str(e)}"
53
+
54
+ def translate_with_local_model(code_snippet):
55
+ try:
56
+ java_seq = java_vectorizer(tf.constant([code_snippet]))
57
+ python_in = tf.constant([[1] + [0] * (sequence_length - 1)])
58
+ translated_tokens = []
59
+
60
+ for i in range(sequence_length):
61
+ preds = model.predict([java_seq, python_in], verbose=0)
62
+ next_token = tf.argmax(preds[0, i]).numpy()
63
+ translated_tokens.append(next_token)
64
+ if next_token == 0:
65
+ break
66
+ if i + 1 < sequence_length:
67
+ python_in = tf.tensor_scatter_nd_update(
68
+ python_in, [[0, i + 1]], [next_token]
69
+ )
70
+
71
+ tokens = [index_to_word.get(t, "") for t in translated_tokens]
72
+ return " ".join(tokens).replace("[UNK]", "").strip()
73
+
74
+ except Exception as e:
75
+ return f"Local Model Error: {str(e)}"
76
+
77
+ def translate_code(code_snippet, source_lang, target_lang):
78
+ prompt = f"Translate the following {source_lang} code to {target_lang}:\n\n{code_snippet}\n\nTranslated {target_lang} Code:\n"
79
+ response = requests.post(API_URL, headers=HEADERS, json={
80
+ "inputs": prompt,
81
+ "parameters": {"max_new_tokens": 150, "temperature": 0.2, "top_k": 50}
82
+ })
83
+
84
+ if response.status_code == 200:
85
+ generated_text = response.json()[0]["generated_text"]
86
+ translated_code = generated_text.split(f"Translated {target_lang} Code:\n")[-1].strip()
87
+ return translated_code
88
+ else:
89
+ return f"Error: {response.status_code}, {response.text}"
90
+
91
+ # --- Streamlit UI ---
92
+
93
+ st.title("🔄 Programming Language Translator")
94
+ st.write("Translate code between programming languages using 3-tier logic:")
95
+
96
+ languages = ["Python", "Java", "C++", "C"]
97
+ source_lang = st.selectbox("Select source language", languages)
98
+ target_lang = st.selectbox("Select target language", languages)
99
+ code_input = st.text_area("Enter your code here:", height=200)
100
+
101
+ # State initialization
102
+ if "translate_attempts" not in st.session_state:
103
+ st.session_state.translate_attempts = 0
104
+ st.session_state.translated_code = ""
105
+
106
+ if st.button("Translate"):
107
+ if code_input.strip():
108
+ st.session_state.translate_attempts += 1
109
+ attempt = st.session_state.translate_attempts
110
+
111
+ with st.spinner(f"Translating..."):
112
+ # First click
113
+ if attempt == 1:
114
+ if source_lang == "Java" and target_lang == "Python":
115
+ st.session_state.translated_code = translate_with_local_model(code_input)
116
+ else:
117
+ st.session_state.translated_code = translate_code(code_input, source_lang, target_lang)
118
+ else:
119
+ # Second and later attempts -> Gemini
120
+ st.session_state.translated_code = fallback_translate_with_gemini(code_input, source_lang, target_lang)
121
+
122
+ st.subheader("Translated Code:")
123
+ st.code(st.session_state.translated_code, language=target_lang.lower())
124
+ else:
125
+ st.warning("⚠️ Please enter some code before translating.")
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+ # Best version. It doesn't having trained model only.
134
+
135
+ # import streamlit as st
136
+ # import requests
137
+ # import os # To access environment variables
138
+ # import google.generativeai as genai # Import Gemini API
139
+
140
+ # # Load API keys from environment variables
141
+ # HF_API_TOKEN = os.getenv("HF_API_TOKEN")
142
+ # GEMINI_API_KEY = os.getenv("GOOGLE_API_KEY")
143
+
144
+ # # Set up Hugging Face API
145
+ # MODEL_ID = "Salesforce/codet5p-770m" # CodeT5+ (Recommended)
146
+ # API_URL = f"https://api-inference.huggingface.co/models/{MODEL_ID}"
147
+ # HEADERS = {"Authorization": f"Bearer {HF_API_TOKEN}"}
148
+
149
+ # # Initialize Gemini API
150
+ # genai.configure(api_key='AIzaSyBkc8CSEhyYwZAuUiJfzF1Xtns-RYmBOpg')
151
+
152
+ # def translate_code(code_snippet, source_lang, target_lang):
153
+ # """Translate code using Hugging Face API."""
154
+ # prompt = f"Translate the following {source_lang} code to {target_lang}:\n\n{code_snippet}\n\nTranslated {target_lang} Code:\n"
155
+
156
+ # response = requests.post(API_URL, headers=HEADERS, json={
157
+ # "inputs": prompt,
158
+ # "parameters": {
159
+ # "max_new_tokens": 150,
160
+ # "temperature": 0.2,
161
+ # "top_k": 50
162
+ # }
163
+ # })
164
+
165
+ # if response.status_code == 200:
166
+ # generated_text = response.json()[0]["generated_text"]
167
+ # translated_code = generated_text.split(f"Translated {target_lang} Code:\n")[-1].strip()
168
+ # return translated_code
169
+ # else:
170
+ # return f"Error: {response.status_code}, {response.text}"
171
+
172
+ # def fallback_translate_with_gemini(code_snippet, source_lang, target_lang):
173
+ # """Fallback function using Gemini API for translation."""
174
+ # prompt = f"""You are a code translation expert. Convert the following {source_lang} code to {target_lang}:
175
+
176
+ # {code_snippet}
177
+
178
+ # Ensure the translation is accurate and follows {target_lang} best practices.
179
+ # Do not give any explaination. only give the translated code.
180
+ # """
181
+ # try:
182
+ # model = genai.GenerativeModel("gemini-1.5-pro")
183
+ # response = model.generate_content(prompt)
184
+ # return response.text.strip() if response else "Translation failed."
185
+ # except Exception as e:
186
+ # return f"Gemini API Error: {str(e)}"
187
+
188
+ # # Streamlit UI
189
+ # st.title("🔄 Code Translator with Gemini AI")
190
+ # st.write("Translate code between different programming languages using AI.")
191
+
192
+ # languages = ["Python", "Java", "C++", "C"]
193
+
194
+ # source_lang = st.selectbox("Select source language", languages)
195
+ # target_lang = st.selectbox("Select target language", languages)
196
+ # code_input = st.text_area("Enter your code here:", height=200)
197
+
198
+ # # Initialize session state
199
+ # if "translate_attempts" not in st.session_state:
200
+ # st.session_state.translate_attempts = 0
201
+ # st.session_state.translated_code = ""
202
+
203
+ # if st.button("Translate"):
204
+ # if code_input.strip():
205
+ # st.session_state.translate_attempts += 1
206
+ # with st.spinner("Translating..."):
207
+ # if st.session_state.translate_attempts == 1:
208
+ # # First attempt using the pretrained model
209
+ # st.session_state.translated_code = translate_code(code_input, source_lang, target_lang)
210
+ # else:
211
+ # # Second attempt uses Gemini API
212
+ # st.session_state.translated_code = fallback_translate_with_gemini(code_input, source_lang, target_lang)
213
+
214
+ # st.subheader("Translated Code:")
215
+ # st.code(st.session_state.translated_code, language=target_lang.lower())
216
+ # else:
217
+ # st.warning("⚠️ Please enter some code before translating.")
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+ # V1 without LLM
231
+
232
+ # import streamlit as st
233
+ # import requests
234
+ # import os # Import os to access environment variables
235
+
236
+ # # Get API token from environment variable
237
+ # API_TOKEN = os.getenv("HF_API_TOKEN") # Fetch token securely
238
+ # # Change MODEL_ID to a better model
239
+ # # MODEL_ID = "Salesforce/codet5p-770m" # CodeT5+ (Recommended)
240
+ # MODEL_ID = "bigcode/starcoder2-15b" # StarCoder2
241
+ # # MODEL_ID = "meta-llama/CodeLlama-34b-Instruct" # Code Llama
242
+
243
+ # # API_URL = f"https://api-inference.huggingface.co/models/{MODEL_ID}"
244
+
245
+ # API_URL = f"https://api-inference.huggingface.co/models/{MODEL_ID}"
246
+ # HEADERS = {"Authorization": f"Bearer {API_TOKEN}"}
247
+
248
+ # def translate_code(code_snippet, source_lang, target_lang):
249
+ # """Translate code using Hugging Face API securely."""
250
+ # prompt = f"Translate the following {source_lang} code to {target_lang}:\n\n{code_snippet}\n\nTranslated {target_lang} Code:\n"
251
+
252
+ # response = requests.post(API_URL, headers=HEADERS, json={
253
+ # "inputs": prompt,
254
+ # "parameters": {
255
+ # "max_new_tokens": 150,
256
+ # "temperature": 0.2,
257
+ # "top_k": 50,
258
+ # "stop": ["\n\n", "#", "//", "'''"]
259
+ # }
260
+ # })
261
+
262
+ # if response.status_code == 200:
263
+ # generated_text = response.json()[0]["generated_text"]
264
+ # translated_code = generated_text.split(f"Translated {target_lang} Code:\n")[-1].strip()
265
+ # return translated_code
266
+ # else:
267
+ # return f"Error: {response.status_code}, {response.text}"
268
+
269
+ # # Streamlit UI
270
+ # st.title("🔄 Code Translator using StarCoder")
271
+ # st.write("Translate code between different programming languages using AI.")
272
+
273
+ # languages = ["Python", "Java", "C++", "C"]
274
+
275
+ # source_lang = st.selectbox("Select source language", languages)
276
+ # target_lang = st.selectbox("Select target language", languages)
277
+ # code_input = st.text_area("Enter your code here:", height=200)
278
+
279
+ # if st.button("Translate"):
280
+ # if code_input.strip():
281
+ # with st.spinner("Translating..."):
282
+ # translated_code = translate_code(code_input, source_lang, target_lang)
283
+ # st.subheader("Translated Code:")
284
+ # st.code(translated_code, language=target_lang.lower())
285
+ # else:
286
+ # st.warning("⚠️ Please enter some code before translating.")