Ra-Is's picture
Update app.py
b3c5892 verified
import requests
import json
import gradio as gr
import os
# Define the function to call the API
def translate(text, lang):
if not lang:
return "Error: Please select a translation language."
if not text:
return "Error: Please enter text for translation."
url = os.getenv("TRANSLATION_URL")
payload = json.dumps({
"text": text,
"lang": lang # Add language to the payload
})
headers = {
'Content-Type': 'application/json'
}
# Make the API request
response = requests.request("POST", url, headers=headers, data=payload)
# Parse the response and handle potential errors
response_data = response.json() # Parse the JSON response
if "errors" in response_data:
lang_error = response_data["errors"].get("lang", ["An error occurred"])[0]
return f"Error: {lang_error}" # Return the error message
translation = response_data.get("translation", "Translation not found") # Get the translation
return translation
# Create the Gradio interface with a textbox and dropdown
textbox = gr.Textbox(placeholder="Enter text to translate...")
dropdown = gr.Dropdown(choices=["", "english-twi", "twi-english"], label="Select Translation Language", value="") # Include a default empty option
# Pass both inputs to the translate function
demo = gr.Interface(fn=translate, inputs=[textbox, dropdown], outputs="text")
# Launch the Gradio app
demo.launch(share=True)