thak123's picture
Update app.py
6954df4
raw
history blame
4.7 kB
import gradio as gr
# # Define a list of word and translation pairs
# word_translations = [
# {"word": "Hello", "translation": "Hola"},
# {"word": "Goodbye", "translation": "Adi贸s"},
# {"word": "Thank you", "translation": "Gracias"},
# {"word": "Please", "translation": "Por favor"}
# ]
word_translations = [
{
"text": "Hello",
"image_url": "https://example.com/image1.jpg",
"translation": "Hola",
"link": "https://www.google.com/"
},
{
"text": "World",
"image_url": "https://example.com/image2.jpg",
"translation": "Mundo",
"link": "https://en.wikipedia.org/wiki/World"
},
{
"text": "Goodbye",
"image_url": "https://example.com/image3.jpg",
"translation": "Adi贸s",
"link": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}
]
# Initialize an index to keep track of the current word
current_index = 0
# Function to display the current word and translation
def display_word():
global current_index
word_translation = word_translations[current_index]
current_index = (current_index + 1) % len(word_translations)
return f"Word: {word_translation['word']}<br>Translation: {word_translation['translation']} {gr.HTML(f"<iframe src=\'{item['link']}\' width='100%' height='500px'></iframe>"))}"
# Create a Gradio interface
iface = gr.Interface(
fn=display_word,
live=True,
title="Word Translation App",
description="Click 'Next' to view the next word and translation.",
inputs=[],
outputs=["html"],
layout="vertical"
)
# Start the Gradio interface
iface.launch()
# import gradio as gr
# import random
# # Define your list of words and their translations
# word_translations = [
# {"word": "Apple", "translation": "Manzana", "image_url": "apple_image.jpg"},
# {"word": "Banana", "translation": "Pl谩tano", "image_url": "banana_image.jpg"},
# {"word": "Orange", "translation": "Naranja", "image_url": "orange_image.jpg"},
# # Add more words and translations as needed
# ]
# # Initialize a variable to keep track of the current word index
# current_word_index = 0
# # Define a function to display the current word and translation
# def display_word():
# word_info = word_translations[current_word_index]
# word = word_info["word"]
# translation = word_info["translation"]
# image_url = word_info["image_url"]
# return f"Word: {word}<br>Translation: {translation}<br><img src='{image_url}' width='200'>"
# # Define a function to handle the "Next" button click
# def next_word():
# global current_word_index
# current_word_index = (current_word_index + 1) % len(word_translations)
# return display_word()
# # Create a Gradio interface
# iface = gr.Interface(
# fn=display_word,
# live=True,
# title="Word Translation App",
# description="Click 'Next' to view the next word and translation.",
# inputs=[],
# outputs="html",
# layout="vertical",
# wide=True
# )
# # Add a "Next" button to the interface
# iface.add_button("Next", next_word)
# # Launch the Gradio interface
# iface.launch()
# import gradio as gr
# import requests
# from PIL import Image
# def display_item(index, list_of_items):
# """Displays a single item from a list of items.
# Args:
# index: The index of the item to display.
# list_of_items: A list of Python dictionaries, where each dictionary has the following keys:
# * text: The text.
# * image_url: The URL of the image.
# * translation: The translation of the text.
# * link: The URL of the website link.
# """
# # Get the item from the list of items
# item = list_of_items[index]
# # Display the text
# gr.Text(item["text"])
# # Display the image
# image = Image.open(requests.get(item["image_url"], stream=True).raw)
# gr.Image(image)
# # Display the translation
# gr.Text(item["translation"])
# # Display the website link
# gr.Button("View website", onclick=lambda: gr.HTML(f"<iframe src='{item['link']}' width='100%' height='500px'></iframe>"))
# # Define a function to show the next item
# def show_next_item(index, list_of_items):
# index += 1
# # If the index is greater than the length of the list of items, then reset the index to 0
# if index >= len(list_of_items):
# index = 0
# # Display the next item
# display_item(index, list_of_items)
# # Create a Gradio interface
# interface = gr.Interface(display_item, inputs=["number", "list"], outputs="html")
# # Launch the Gradio interface
# # interface.launch(index=0, list_of_items=list_of_items, show_next_item=show_next_item)
# interface.launch()