DemahAlmutairi commited on
Commit
d2104f8
·
verified ·
1 Parent(s): 7c384a9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -9
app.py CHANGED
@@ -32,7 +32,27 @@ def toggle_language():
32
  return "Switched to English summarization."
33
  else:
34
  current_language = 'Arabic'
35
- return "Switched to Arabic summarization."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
37
  # Custom CSS for the progress bar with animations
38
  custom_css = """
@@ -91,17 +111,32 @@ button:hover, .btn:hover {
91
 
92
  # Create the Gradio interface
93
  with gr.Blocks(css=custom_css) as interface:
94
- gr.Markdown("<h1 style='text-align: center;'>Text Summarization Tool</h1>")
 
 
 
 
95
 
96
- text_input = gr.Textbox(label="Enter Text Here", lines=8, text_align="right")
97
- max_length = gr.Slider(minimum=80, maximum=200, value=100, step=1, label="Max Summary Length")
98
- min_length = gr.Slider(minimum=5, maximum=50, value=20, step=1, label="Min Summary Length")
99
- summarize_button = gr.Button("Summarize")
100
- language_button = gr.Button("Switch Language")
101
- summary_output = gr.Textbox(label="Summary", lines=6, text_align="right")
102
 
103
  summarize_button.click(summarize, inputs=[text_input, max_length, min_length], outputs=summary_output)
104
- language_button.click(toggle_language, outputs=summary_output)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
 
106
  if __name__ == "__main__":
107
  interface.launch()
 
32
  return "Switched to English summarization."
33
  else:
34
  current_language = 'Arabic'
35
+ return "تم التبديل إلى تلخيص اللغة العربية."
36
+
37
+ def update_interface():
38
+ if current_language == 'Arabic':
39
+ return {
40
+ "title": "أداة تلخيص النصوص",
41
+ "textbox_label": "ادخل النص هنا",
42
+ "max_length_label": "الحد الأقصى لطول الملخص",
43
+ "min_length_label": "الحد الأدنى لطول الملخص",
44
+ "summarize_button_label": "تلخيص",
45
+ "summary_label": "الملخص"
46
+ }
47
+ else:
48
+ return {
49
+ "title": "Text Summarization Tool",
50
+ "textbox_label": "Enter Text Here",
51
+ "max_length_label": "Max Summary Length",
52
+ "min_length_label": "Min Summary Length",
53
+ "summarize_button_label": "Summarize",
54
+ "summary_label": "Summary"
55
+ }
56
 
57
  # Custom CSS for the progress bar with animations
58
  custom_css = """
 
111
 
112
  # Create the Gradio interface
113
  with gr.Blocks(css=custom_css) as interface:
114
+ gr.Markdown("<h1 style='text-align: center;' id='title'>Text Summarization Tool</h1>")
115
+
116
+ text_input = gr.Textbox(label="Enter Text Here", lines=8, text_align="right", elem_id="text_input")
117
+ max_length = gr.Slider(minimum=80, maximum=200, value=100, step=1, label="Max Summary Length", elem_id="max_length")
118
+ min_length = gr.Slider(minimum=5, maximum=50, value=20, step=1, label="Min Summary Length", elem_id="min_length")
119
 
120
+ summarize_button = gr.Button("Summarize", elem_id="summarize_button")
121
+ language_button = gr.Button("Switch Language", elem_id="language_button")
122
+ summary_output = gr.Textbox(label="Summary", lines=6, text_align="right", elem_id="summary_output")
 
 
 
123
 
124
  summarize_button.click(summarize, inputs=[text_input, max_length, min_length], outputs=summary_output)
125
+ language_button.click(lambda: (toggle_language(), update_interface()), outputs=[summary_output, text_input, max_length, min_length, summarize_button, language_button])
126
+
127
+ # Update interface labels
128
+ def update_labels():
129
+ labels = update_interface()
130
+ return labels["title"], labels["textbox_label"], labels["max_length_label"], labels["min_length_label"], labels["summarize_button_label"], labels["summary_label"]
131
+
132
+ title, text_label, max_label, min_label, summarize_label, summary_label = update_labels()
133
+
134
+ interface.set_title(title)
135
+ text_input.label = text_label
136
+ max_length.label = max_label
137
+ min_length.label = min_label
138
+ summarize_button.label = summarize_label
139
+ summary_output.label = summary_label
140
 
141
  if __name__ == "__main__":
142
  interface.launch()